【发布时间】:2014-06-19 21:20:09
【问题描述】:
我正在寻找在 Java、闭源、商业、桌面应用程序中监视磁盘活动的方法。特别是,我想做的是监控应用程序访问数据库/磁盘的频率 - 它会在应用程序中显示为“HDD led”指示器,并且工作方式完全相同(因此,基本上是实时活动监控) .我还希望拥有尽可能少的外部库。
到目前为止,我发现的东西似乎不太令人鼓舞 - 我还没有看到类似的确切示例以及我设法挖掘的最佳热门参考大型框架(如 Sigar)或库像 JPicus(它不支持 Java7 并且似乎不支持我的情况)。 JMX 工具似乎也不支持这一点,所以我非常愿意接受任何想法/建议。
技术栈是 - Java7、Eclipse RCP、SQL Server 2008。
编辑:为了清楚起见,我想使用纯平台无关的 Java 解决方案监控 Java 程序的磁盘 I/O 活动。
【问题讨论】:
-
您需要监控其他进程的磁盘活动,还是只监控您自己的进程?数据库是一个单独的进程吗?
-
你可以使用 strace (linux) 还是 procmon (windows) 吗?
-
这是一个使用 MS SQL Server 的应用程序,因此 Linux 不适合。我只需要监控我自己的进程——更具体地说,我需要监控 JVM(运行我的应用程序)访问磁盘的频率。因此,本质上,我只需要查看应用程序访问磁盘的频率。回答第二条评论 - 我宁愿不依赖外部工具,但如果这样可以简化实施,我愿意考虑一下。话虽如此,我发现提到 JNI 用于访问一些低级 Windows API 调用/函数 - 我也想避免 :)
标签: java performance android-activity monitor disk