方法: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】linux启动过程
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情
- linux学习第五天
- Linux重定向及nohup使用
- Linux中/usr与/var目录详解
- Linux服务器开发/测试环境搭建流程
- Linux中用C语言写系统日志
- Linux 解决iptables不能启动[缺失/etc/sysconfig/iptables文件]的问题
- linux下杀死进程(kill)的N种方法
- centos6.5上部署集中化管理平台Saltstack!!!
- centos安装pdo扩展,pdo-mysql扩展
- 在LINUX下面如何查看CPU的温度
- linux 下C语言学习路线
- Linux搭建SVN服务器
- Linux系统安装ftp
- RedHat Enterprise Linux 5/6 ISO镜像下载
- RHEL6.5系统默认不支持yum源,将红帽系统的yum源改成CentOS的yum源,可以免费使用
- 在linux摸索的过程
- linux网路设备驱动开发
- 在linux摸索的过程