2012-12-03 49 views
1

我正在尝试开发一个小型测试应用程序,它在每X秒运行一些命令,测量CPU使用情况,内存使用情况和网络利用率Windows任务管理器。 该应用程序将用java编写,应该在windows和linux上运行。 我发现很多人使用Sigar API来轻松提取系统信息。 我发现了如何使用它使用在windows/linux上使用java提取CPU使用率,内存使用率和网络利用率

Mem mem = sigar.getMem(); 
mem.getUsed(); 

我仍然不知道有什么区别的内存使用,并用于实际内存之间提取内存使用情况,有人可以敷衍我这个?

另外我还不确定如何提取CPU使用率和网络利用率。 cpu的我曾尝试:

cpu = sigar.getCpuPerc(); 
cpu.getCombined(); 

但数字似乎从我所看到的在任务管理器有很大不同。 我应该使用哪个API来获得期望的结果? 网络利用我不知道。

回答

1

使用的内存是指分配的内存大小,使用的实际内存是实际用于分配的内存,它减少了内核和其他区域的内存。

对于CPU,我也想通了,值是不同的,看到了一些博客,它表明通过100所以我做到了,现在的价值是非常相似的繁殖... http://code.google.com/p/starfire/source/browse/trunk/starfire/src/main/java/es/upm/dit/gsi/starfire/capability/systemMonitor/CpuMonitor.java?spec=svn279&r=279

网络我仍然搜索。