方法: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下使用java获取cpu、内存使用率
原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系统中可以用top命令查看进程使用CPU和内存情况,通过Runtime类 ...
- 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程
linux下查看最消耗CPU 内存的进程 1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10 ...
- Linux下用命令查看CPU ID以及厂家等信息
Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...
- Linux 下定位java应用 cpu高的原因(转)
使用场景: 遇到Linux下java应用cpu占用很高的时候,我们很想知道此时的应用到底在做什么导致资源的消耗. 方便我们进一步定位和优化~ 1.查询cpu耗用top5的进程(你也可以top10) [ ...
- Linux下用Java获取本机IP
可能有多个网卡包括虚拟网卡,需要进行排除 String ip = ""; try { Enumeration<?> e1 = NetworkInterface.getN ...
- Linux下查看内核、CPU、内存及各组件版本的命令和方法
Linux下查看内核.CPU.内存及各组件版本的命令和方法 Linux查看内核版本: uname -a more /etc/*release ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- linux Java项目CPU内存占用高故障排查
linux Java项目CPU内存占用高故障排查 top -Hp 进程号 显示进程中每个线程信息,配合jstack定位java线程运行情况 # 线程详情 jstack 线程PID # 查看堆内存中的对 ...
- linux下dmidecode命令获取硬件信息
linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...
随机推荐
- 让WPS支持VHDL的关键词加粗
WPS的VBA在这里下载:http://bbs.wps.cn/forum.php?mod=viewthread&tid=22347925 语法高亮是参考Word的,这篇文章:http://bl ...
- Splash and Wizard
https://github.com/xcz1899/AndroidGuide https://github.com/w446108264/XhsWelcomeAnim https://github. ...
- iOS开发——网络编程Swift篇&(七)NSURLSession详解
NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var ...
- UNIX基础知识之系统调用与库函数的区别与联系
上图为UNIX操作系统的体系结构.内核的接口被称为系统调用(system call),公用函数库构建在系统调用接口之上,应用软件既可以使用公用函数库,也可直接使用系统调用. 更详细的说明如下: 所有操 ...
- eclipse 总是提示文件下载
在首选项->phpeclipse web development ->brower preview default 勾选掉
- 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce
一.DIG linux下查询域名解析有两种选择,nslookup或者dig.Dig(Domain Information Groper)是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M ...
- hive-通过Java API操作
通过Java API操作hive,算是测试hive第三种对外接口 测试hive 服务启动 package org.admln.hive; import java.sql.SQLException; i ...
- org.apache.hadoop.fs-Seekable
本来要先看BufferedFSInputStream的,但是它实现了Seekable和PositionedReadable接口,就先看这两个,再看它会比较容易理解些 package org.apach ...
- js中将字符串转换成json的方式
1.eval 方式解析,实际中用的还是比较少 function evalJson(str){ var json = eval('(' + str + ')'); return json; } 2.使用 ...
- SQL_server 数据库备份信息查看
select distinct s.database_name, s.first_lsn,s.last_lsn,s.database_backup_lsn,s.backup_finish_date,s ...