java linux获取实时cpu_用java取得linux系统cpu、内存的实时信息(参考别人代码)...
/** * cat /proc/cpuinfo - cpu (i.e. vendor, mhz, flags like mmx) * cat /proc/interrupts - 中断 * cat /proc/ioports - 设备io端口 * cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size) * cat /proc/partitions - 所有设备的所有分区 * cat /proc/pci - pci设备的信息 * cat /proc/swaps - 所有swap分区的信息 * cat /proc/version - linux的版本号 相当于 uname -r */ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** * 取得linux系统下的cpu、内存信息 * *
@author javer QQ:84831612
* @date 2005 */ public final class LinuxSystemTool { /** * get memory by used info * * @return int[] result * result.length==4;int[0]=MemTotal;int[1]=MemFree;int[2]=SwapTotal;int[3]=SwapFree; * @throws IOException * @throws InterruptedException */ public static int[] getMemInfo() throws IOException, InterruptedException { File file = new File("/proc/meminfo"); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(file))); int[] result = new int[4]; String str = null; StringTokenizer token = null; while((str = br.readLine()) != null) { token = new StringTokenizer(str); if(!token.hasMoreTokens()) continue; str = token.nextToken(); if(!token.hasMoreTokens()) continue; if(str.equalsIgnoreCase("MemTotal:")) result[0] = Integer.parseInt(token.nextToken()); else if(str.equalsIgnoreCase("MemFree:")) result[1] = Integer.parseInt(token.nextToken()); else if(str.equalsIgnoreCase("SwapTotal:")) result[2] = Integer.parseInt(token.nextToken()); else if(str.equalsIgnoreCase("SwapFree:")) result[3] = Integer.parseInt(token.nextToken()); } return result; } /** * get memory by used info * * @return float efficiency * @throws IOException * @throws InterruptedException */ public static float getCpuInfo() throws IOException, InterruptedException { File file = new File("/proc/stat"); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(file))); StringTokenizer token = new StringTokenizer(br.readLine()); token.nextToken(); int user1 = Integer.parseInt(token.nextToken()); int nice1 = Integer.parseInt(token.nextToken()); int sys1 = Integer.parseInt(token.nextToken()); int idle1 = Integer.parseInt(token.nextToken()); Thread.sleep(1000); br = new BufferedReader( new InputStreamReader(new FileInputStream(file))); token = new StringTokenizer(br.readLine()); token.nextToken(); int user2 = Integer.parseInt(token.nextToken()); int nice2 = Integer.parseInt(token.nextToken()); int sys2 = Integer.parseInt(token.nextToken()); int idle2 = Integer.parseInt(token.nextToken()); return (float)((user2 + sys2 + nice2) - (user1 + sys1 + nice1)) / (float)((user2 + nice2 + sys2 + idle2) - (user1 + nice1 + sys1 + idle1)); } } /** * 测试类 * *
@author javer QQ:84831612
* @date 2005 */ public class JaverTest { public static void main(String[] args) throws Exception { int[] memInfo = LinuxSystemTool.getMemInfo(); System.out.println("MemTotal:" + memInfo[0]); System.out.println("MemFree:" + memInfo[1]); System.out.println("SwapTotal:" + memInfo[2]); System.out.println("SwapFree:" + memInfo[3]); System.out.println("CPU利用率:" + LinuxSystemTool.getCpuInfo()); } }
java linux获取实时cpu_用java取得linux系统cpu、内存的实时信息(参考别人代码)...相关推荐
- java jcombobox 获取值_从java中的JComboBox获取字符串值
我正在做一个testJComboBox程序.一旦我选择了jCombobox的输出,我就会得到我需要的字符串值.但是,它不起作用. 这是我的代码: import java.awt.*; import j ...
- 高cpu_实用脚本:检查高 CPU / 内存消耗进程 | Linux 中国
本教程中包含两个脚本,它们可以帮助你确定 Linux 上高 CPU/内存消耗进程的运行时间. • 来源:linux.cn • 作者:Magesh Maruthamuthu • 译者:geekpi • ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1, #cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2, #vmstat –s 或者 #vmstat 虚拟内存统 ...
- golang 获取cpu 内存 硬盘 使用率 信息 进程信息
目录 1.获取 cpu 内存 磁盘使用率 2.获取本机信息 3. 获取CPU信息 4. 获取内存信息 5.获取磁盘信息 6.获取网络信息 7. 获取进程信息 使用库: go get github.co ...
- java怎么获取服务器文件夹,java获取远程服务器的文件夹
java获取远程服务器的文件夹 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过 ...
- java function获取参数_「Java容器」ArrayList源码,大厂面试必问
ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...
- java iterator获取索引_2020年Java面试题最新整理(1625)
16.Java集合框架是什么? 说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Jav ...
- java 反射获取对象_使用Java反射机制获取对象
本文由广州疯狂软件教育java培训分享: 构造接口Person,所有Person都会问好,但具体讲什么语言就不知道了! package interf; public interface Person ...
- java 这么获取农历_用JAVA查询中国农历年
用来查询农历年的代码,可能比较粗糙,希望不要太打击偶,哈哈. 一,Console.java[用来获取控制台的输入] /* #(@)Console.java 20:40:25 2/2/2006 控制台消 ...
最新文章
- 时间源服务器|授时仪|GPS时钟同步系统
- 20165301 预备作业三:Linux安装及命令入门
- react-native 原生組件封裝與原生模塊和js的交互
- 三禧科技 工业机器人_redmi note 9 即将发布,三剑齐发! 三禧科技
- Most socially-distanced subsequence CodeForces - 1364B(贪心)
- SpringBoot热部署加持
- CentOS经常使用文件操作命令[百度博客搬家]
- 认识容器,我们从它的历史开始聊起
- Golang 参数传递本质
- 最速下降法python_python实现最速下降法
- 论文阅读笔记:Masked Autoencoders Are Scalable Vision Learners
- vue基础-过滤器(Filters)
- 未来人工智能对人类的影响的利弊
- 极智装修知识|如何将效果图转化为实景的家? - 分享3
- CAD2017打开图纸点字体替换时没有字体选择框的问题
- 使用数组作为函数参数
- App推广技巧之渠道免费资源
- 阿德莱德大学计算机科学,School of Computer Science
- Android事件分发之ACTION_CANCEL机制及作用
- 《信息安全保障》一2.2 我国信息安全保障工作主要内容
热门文章
- python关键字中文意思_python 字符串只保留汉字的方法
- matlab制作以太网数据接收上位机_3D激光扫描仪设计及数据处理
- 北语18春《计算机网络技术》作业4,北语18春《计算机网络技术》作业4
- axis2 默认端口_基于 AXIS2/C 的 C 语言库实现对提供 REST API 的系统进行数据访问...
- SpringMVC 集成 mybatisPlus 分析
- SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
- Git Windows安装手册
- 第二篇 服务消费者(rest ribbon)(Finchley版本)V2.0_dev
- 重温前端基础(二) 移动WEB开发
- python期末考试重点_如何应付大学的python考试而不至于挂科?