关于java使用sigar访问电脑内存信息出现的问题!

问题描述:

上午提的问题不小得怎么看不到了!
代码如下:
MemoryBean bean = new MemoryBean();
Sigar sigar = new Sigar();
CpuPerc cpu = sigar.getCpuPerc();
bean.setCpuUser("用户使用CPU情况:" + CpuPerc.format(cpu.getUser()).replace("%", ""));
bean.setCpuSys("系统使用CPU情况:" + CpuPerc.format(cpu.getSys()).replace("%", ""));
bean.setCpuTotal("电脑使用CPU情况:" + CpuPerc.format(cpu.getCombined()).replace("%", ""));
Mem mem = sigar.getMem();
bean.setMemoryTotal("电脑内存总数:" + (mem.getTotal() / 1024 / 1024-mem.getTotal() / 1024 / 1024));
bean.setMemoryUse("内存使用数量:" + (mem.getTotal() / 1024 / 1024-mem.getUsed() / 1024 / 1024));
bean.setMemoryUnused("内存未用数量:" + (mem.getTotal() / 1024 / 1024-mem.getFree() / 1024 / 1024));

这段代码在MAIN方法运行一切正常,ACTION调用就会有问题,请问这是什么原因?

MAIN 和 ACTION 调用的都是同一个类,同一个方法!

你的ddl/so等放到java.library.path下了吗?

System.getProperty("java.library.path")得到 path, 比如默认在win system32就是

怎么你想通过action方法返回客户机器的 cpu情况?