java 收集系统资源_方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息
CPU使用率:
InputStream is = null;
InputStreamReader isr = null;
BufferedReader brStat = null;
StringTokenizer tokenStat = null; // 用來分隔String的應(yīng)用類
try {
System.out.println("Get usage rate of CUP : ");
Process process = Runtime.getRuntime().exec("top -b"); // top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進(jìn)程的資源使用情況。
is = process.getInputStream(); // 可以讀取新開啟的程序的 System.out.print 輸出的內(nèi)容
isr = new InputStreamReader(is); // 將字節(jié)流轉(zhuǎn)換為字符流。
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("內(nèi)核空間占用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
//內(nèi)存:
OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean();
// 虛擬內(nèi)存
long totalVirtualMemory = osmxb.getTotalSwapSpaceSize() / mb;
// 總的物理內(nèi)存
long totalMemorySize = osmxb.getTotalPhysicalMemorySize() / mb;
// 剩余的物理內(nèi)存
long freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize() / mb;
// 已使用的物理內(nèi)存
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("目前所有文件系統(tǒng)的可用空間及使用情形 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、內(nèi)存使用率
總結(jié)
以上是生活随笔為你收集整理的java 收集系统资源_方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何下载iOS 16/iPadOS开发者
- 下一篇: linux文件系统的管理方法,Linux