读取 cpu百分比 进程占用cpu百分比的JAVA实现方式
来源:互联网 发布:supreme淘宝正品店铺 编辑:程序博客网 时间:2024/04/29 21:08
话不多说直接上代码:讲述两种CPU
TotalCpuTime
<span style="font-size:14px;">private static long getTotalCpuTime() { // 获取系统总CPU使用时间String[] cpuInfos = null;try {BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/stat")), 1000);String load = reader.readLine();reader.close();cpuInfos = load.split(" ");// System.out.println("cpulist:"+Arrays.toString(cpuInfos));} catch (IOException ex) {ex.printStackTrace();}long totalCpu = Long.parseLong(cpuInfos[2])+ Long.parseLong(cpuInfos[3]) + Long.parseLong(cpuInfos[4])+ Long.parseLong(cpuInfos[6]) + Long.parseLong(cpuInfos[5])+ Long.parseLong(cpuInfos[7]) + Long.parseLong(cpuInfos[8]);return totalCpu;}</span>注:这种方法只获得总的CPU耗时信息
AppCpuTime
private static long getAppCpuTime(int pid) { // 获取应用占用的CPU时间String[] cpuInfos = null;try {// int pid = android.os.Process.myPid();BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/" + pid + "/stat")), 1000);String load = reader.readLine();reader.close();cpuInfos = load.split(" ");} catch (IOException ex) {ex.printStackTrace();}long appCpuTime = Long.parseLong(cpuInfos[13])+ Long.parseLong(cpuInfos[14]) + Long.parseLong(cpuInfos[15])+ Long.parseLong(cpuInfos[16]);return appCpuTime;}接下来重点来啦:
public static float getProcessCpuRate(int pid) // 获得应用cpu占用率{float CPU = 0;try {float totalCpuTime1 = getTotalCpuTime();float processCpuTime1 = getAppCpuTime(pid);try {Thread.sleep(300);} catch (Exception e) {}float totalCpuTime2 = getTotalCpuTime();float processCpuTime2 = getAppCpuTime(pid);float cpuRate = 100 * (processCpuTime2 - processCpuTime1)/ (totalCpuTime2 - totalCpuTime1);String str = new DecimalFormat("0.00").format(cpuRate);CPU = Float.parseFloat(str);} catch (Exception e) {}return CPU;}
以上读取方式都是采用bufferReader读取指定路径中的信息。这中方式简单易操作。 接下来给大家讲解另一种方式,读取CPU相关信息:在我项目中...........MyUtil类里。同样采用的是bufferReader。返回的是一个ArrayList集合,存放了多核的耗时总时间时间eg:cpu cpu1 cpu2 cpu 3...........等。
0 0
- 读取 cpu百分比 进程占用cpu百分比的JAVA实现方式
- java 实现占用特定百分比的CPU资源
- 查看cpu使用率。查看进程占用cpu百分比
- CPU控制百分比
- java 获取进程ID 物理内存 cpu使用百分比(linux环境)
- cpu使用时间百分比过高 排查
- java进程占用cpu高
- java计算百分比的实现
- 获取进程占用的CPU
- 关于cpu的分析--us,sys百分比代表什么
- Android中实现百分比布局的方式
- Java实现百分比
- java实现百分比
- java进程CPU占用高的问题排查
- 使用tomcat java进程占用cpu偏高的原因
- Zabbix3.0.4监控Windows的CPU使用百分比并在CPU使用率超过90%触发报警
- JAVA进程高CPU占用故障排查
- JAVA进程高CPU占用故障排查
- java nio原理和通信模型
- php 项目性能优化
- Java设计模式之抽象工厂模式
- 数据库面试常问的一些基本概念
- 如何使用Qt Creator生成带图标的exe文件
- 读取 cpu百分比 进程占用cpu百分比的JAVA实现方式
- 优化SQL的建议
- 线性表数据结构解读(二)链式存储结构LinkedList
- How to print out more than 20 items (documents) in MongoDB's shell?
- zookeeper 集群配置
- Android可触屏操作的控件DragTableView
- Android 面试题(答案最全)
- UI设计师:用户界面你真的会了吗?
- iOS CALayer详解,动画详解。