我正在使用SIAGR API来计算CPU使用率,但在使用LOAD RUNNER 测试时获取异常,否则就可以了。
org.hyperic.sigar.SigarFileNotFoundException: No such file or directory
at org.hyperic.sigar.Cpu.gather(Native Method)
at org.hyperic.sigar.Cpu.fetch(Cpu.java:30)
at org.hyperic.sigar.Sigar.getCpu(Sigar.java:320)
at org.hyperic.sigar.Sigar.getCpuPerc(Sigar.java:348)
请在下面找到示例代码
public static void main(String[] args)
{
try
{
Shell shell = new Shell();
shell.setPageSize(PageControl.SIZE_UNLIMITED);
Sigar sigar = shell.getSigar();
CpuPerc cpu = null;
for (int i = 0; i < 10; i++)
{
try
{
Thread.sleep(500L);
} catch (Exception e)
{
// TODO: handle exception
}
cpu = sigar.getCpuPerc();
double val = cpu.getCombined();
int cpuUsage = (int) (val * 100);
// System.out.println(CpuPerc.format(val));
System.out.println(cpuUsage);
}
}
catch (SigarException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
我的要求是以特定的时间间隔收集CPU使用率50个周期..并记录平均值和最高值。
请帮我解决此问题
答案 0 :(得分:0)
为什么不使用LoadRunner的内置功能连接到Windows和LINUX / UNIX的本机接口来收集CPU数据?您似乎正在重新设计已经构造并滚动的滚轮