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. URAL 2056 Scholarship 水题

    ScholarshipTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.a ...

  2. 调用Dll里面的窗体

    将窗体资源分装到DLL中并且调用 用Delphi生成DLL并封装窗体的示例 调用Dll里面的窗体 DLL文件 library Project2;{ Important note about DLL m ...

  3. iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)

    Stroke-描边 影响描边的因素 线的宽度-CGContextSetLineWidth 交叉线的处理方式-CGContextSetLineJoin 线顶端的处理方式-CGContextSetLine ...

  4. Xcode8中Swift3.0适配问题

    写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可. Xcode8支持Swift2.3和Swift3.0两 ...

  5. ios--uitextfield动态限制输入的字数(解决方式)

    1.定义一个事件: -(IBAction)limitLength:(UITextField *)sender { bool isChinese;//推断当前输入法是否是中文 if ([[[UIText ...

  6. oc-09-#pragma mark指令的使用,用于查找代码

    // 3-[了解]#pragma mark指令的使用,用于查找代码. #import <Foundation/Foundation.h> //声明一个狗类 #pragma mark 声明狗 ...

  7. 使用OPC的方式去连接PLC进行AB SLC-5_04数据的采集

    1.  必备软件 Rslinx classic 2.57 .net framework 2.0 VS2013 OS: win7 enterprise x64 2.  软件安装 2.1.安装RSlinx ...

  8. 为Mono安装MySql连接驱动

    为Mono安装MySql连接驱动(转) 2013 年 1 月 24 日.NETmono.MySql DOTNET and Mono by default only support database c ...

  9. 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)【转】

    介绍 为其他对象提供一个代理以控制对这个对象的访问. 示例 有一个Message实体类,某对象对它的操作有Insert()和Get()方法,用一个代理来控制对这个对象的访问. MessageModel ...

  10. uva 699 The Falling Leaves dfs实现

    额,刘汝佳小白里面的配套题目. 题目求二叉树同垂直线上结点值的和. 可以用二叉树做,挺水的其实. 尝试使用dfs实现了:开一个大点的数组,根节点为最中间那点,然后读取时就可以进行和的计算了. 代码: ...