方法:Linux 下用JAVA获取CPU内存磁盘的系统资源信息

Posted hallile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了方法:Linux 下用JAVA获取CPU内存磁盘的系统资源信息相关的知识,希望对你有一定的参考价值。

 CPU使用率:

InputStream is = null;
InputStreamReader isr = null;
BufferedReader brStat = null;
StringTokenizer tokenStat = null; // 用来分隔String的应用类
try {
System.out.println("Get usage rate of CUP : ");

Process process = Runtime.getRuntime().exec("top -b"); // top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源使用情况。
is = process.getInputStream(); // 可以读取新开启的程序的 System.out.print 输出的内容
isr = new InputStreamReader(is); // 将字节流转换为字符流。
brStat = new BufferedReader(isr); // BufferedReader 流能够读取文本行
brStat.readLine();
brStat.readLine();

tokenStat = new StringTokenizer(brStat.readLine());
tokenStat.nextToken();
System.out.println("用户空间占用CPU的百分比 : " + tokenStat.nextToken());
tokenStat.nextToken();
System.out.println("内核空间占用CPU的百分比 : " + tokenStat.nextToken());
tokenStat.nextToken();
tokenStat.nextToken();
tokenStat.nextToken();
String cpuFree = tokenStat.nextToken();

System.out.println("空闲CPU百分比 : " + cpuFree);
Float free = new Float(free);

Float usage=1 - free.floatValue() / 100

 

//内存:

OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean();

// 虚拟内存

long totalVirtualMemory = osmxb.getTotalSwapSpaceSize() / mb;
// 总的物理内存
long totalMemorySize = osmxb.getTotalPhysicalMemorySize() / mb;
// 剩余的物理内存
long freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize() / mb;
// 已使用的物理内存
long usedMemory = (osmxb.getTotalPhysicalMemorySize() - osmxb
.getFreePhysicalMemorySize()) / mb;

 

 磁盘空间:

Process pro = null;
Runtime r = Runtime.getRuntime();
String command = "df -h";
pro = r.exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(
pro.getInputStream()));
String line = null;
System.out.println("目前所有文件系统的可用空间及使用情形 Filesystem Size Used Avail Use% Mounted on");
while ((line = in.readLine()) != null) {
// String[] Info = line.split("\\s+");
System.out.println(in.readLine());
}
in.close();
pro.destroy();

 

 

 

 

Linux下java获取CPU、内存、磁盘IO、网络带宽使用率

以上是关于方法:Linux 下用JAVA获取CPU内存磁盘的系统资源信息的主要内容,如果未能解决你的问题,请参考以下文章

获取两台linux服务器的cpu内存磁盘网络等信息,可能不是最好的逻辑,但是对于小白的我自己动手收货不少

Linux下万能巡检脚本 获取远程主机内存 cpu磁盘等信息

java如何获取系统内存、cpu等信息。

Linux系统下查看CPU内存磁盘网卡等信息方法

Windows下用C语言获取系统的CPU利用率内存使用率硬盘使用率等

qt 获取磁盘空间大小,cpu利用率,内存使用率