使用SIGAR API计算CPU使用率

时间:2015-04-07 03:57:30

标签: java cpu cpu-usage sigar

我正在使用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个周期..并记录平均值和最高值。

请帮我解决此问题

1 个答案:

答案 0 :(得分:0)

为什么不使用LoadRunner的内置功能连接到Windows和LINUX / UNIX的本机接口来收集CPU数据?您似乎正在重新设计已经构造并滚动的滚轮