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、内存、磁盘的系统资源信息的更多相关文章

  1. Linux下使用java获取cpu、内存使用率

    原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系统中可以用top命令查看进程使用CPU和内存情况,通过Runtime类 ...

  2. 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程

    linux下查看最消耗CPU  内存的进程 1.CPU占用最多的前10个进程:  ps auxw|head -1;ps auxw|sort -rn -k3|head -10  2.内存消耗最多的前10 ...

  3. Linux下用命令查看CPU ID以及厂家等信息

    Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...

  4. Linux 下定位java应用 cpu高的原因(转)

    使用场景: 遇到Linux下java应用cpu占用很高的时候,我们很想知道此时的应用到底在做什么导致资源的消耗. 方便我们进一步定位和优化~ 1.查询cpu耗用top5的进程(你也可以top10) [ ...

  5. Linux下用Java获取本机IP

    可能有多个网卡包括虚拟网卡,需要进行排除 String ip = ""; try { Enumeration<?> e1 = NetworkInterface.getN ...

  6. Linux下查看内核、CPU、内存及各组件版本的命令和方法

    Linux下查看内核.CPU.内存及各组件版本的命令和方法 Linux查看内核版本: uname -a                        more /etc/*release       ...

  7. linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...

  8. linux Java项目CPU内存占用高故障排查

    linux Java项目CPU内存占用高故障排查 top -Hp 进程号 显示进程中每个线程信息,配合jstack定位java线程运行情况 # 线程详情 jstack 线程PID # 查看堆内存中的对 ...

  9. linux下dmidecode命令获取硬件信息

    linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...

随机推荐

  1. 让WPS支持VHDL的关键词加粗

    WPS的VBA在这里下载:http://bbs.wps.cn/forum.php?mod=viewthread&tid=22347925 语法高亮是参考Word的,这篇文章:http://bl ...

  2. Splash and Wizard

    https://github.com/xcz1899/AndroidGuide https://github.com/w446108264/XhsWelcomeAnim https://github. ...

  3. iOS开发——网络编程Swift篇&(七)NSURLSession详解

    NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var ...

  4. UNIX基础知识之系统调用与库函数的区别与联系

    上图为UNIX操作系统的体系结构.内核的接口被称为系统调用(system call),公用函数库构建在系统调用接口之上,应用软件既可以使用公用函数库,也可直接使用系统调用. 更详细的说明如下: 所有操 ...

  5. eclipse 总是提示文件下载

    在首选项->phpeclipse web development ->brower preview default 勾选掉

  6. 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce

    一.DIG linux下查询域名解析有两种选择,nslookup或者dig.Dig(Domain Information Groper)是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M ...

  7. hive-通过Java API操作

    通过Java API操作hive,算是测试hive第三种对外接口 测试hive 服务启动 package org.admln.hive; import java.sql.SQLException; i ...

  8. org.apache.hadoop.fs-Seekable

    本来要先看BufferedFSInputStream的,但是它实现了Seekable和PositionedReadable接口,就先看这两个,再看它会比较容易理解些 package org.apach ...

  9. js中将字符串转换成json的方式

    1.eval 方式解析,实际中用的还是比较少 function evalJson(str){ var json = eval('(' + str + ')'); return json; } 2.使用 ...

  10. SQL_server 数据库备份信息查看

    select distinct s.database_name, s.first_lsn,s.last_lsn,s.database_backup_lsn,s.backup_finish_date,s ...