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

本文介绍如何在Linux系统下使用JAVA获取CPU使用率、内存使用情况以及磁盘空间信息。通过调用'.top'命令获取CPU占用,并利用OperatingSystemMXBean接口获取内存信息。此外,通过执行'df -h'命令读取磁盘使用情况。
摘要由CSDN通过智能技术生成

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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值