/**   *     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、内存的实时信息(参考别人代码)...相关推荐

  1. java jcombobox 获取值_从java中的JComboBox获取字符串值

    我正在做一个testJComboBox程序.一旦我选择了jCombobox的输出,我就会得到我需要的字符串值.但是,它不起作用. 这是我的代码: import java.awt.*; import j ...

  2. 高cpu_实用脚本:检查高 CPU / 内存消耗进程 | Linux 中国

    本教程中包含两个脚本,它们可以帮助你确定 Linux 上高 CPU/内存消耗进程的运行时间. • 来源:linux.cn • 作者:Magesh Maruthamuthu • 译者:geekpi • ...

  3. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1, #cat /proc/stat/  信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2, #vmstat –s   或者 #vmstat    虚拟内存统 ...

  4. golang 获取cpu 内存 硬盘 使用率 信息 进程信息

    目录 1.获取 cpu 内存 磁盘使用率 2.获取本机信息 3. 获取CPU信息 4. 获取内存信息 5.获取磁盘信息 6.获取网络信息 7. 获取进程信息 使用库: go get github.co ...

  5. java怎么获取服务器文件夹,java获取远程服务器的文件夹

    java获取远程服务器的文件夹 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过 ...

  6. java function获取参数_「Java容器」ArrayList源码,大厂面试必问

    ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...

  7. java iterator获取索引_2020年Java面试题最新整理(1625)

    16.Java集合框架是什么? 说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Jav ...

  8. java 反射获取对象_使用Java反射机制获取对象

    本文由广州疯狂软件教育java培训分享: 构造接口Person,所有Person都会问好,但具体讲什么语言就不知道了! package interf; public interface Person ...

  9. java 这么获取农历_用JAVA查询中国农历年

    用来查询农历年的代码,可能比较粗糙,希望不要太打击偶,哈哈. 一,Console.java[用来获取控制台的输入] /* #(@)Console.java 20:40:25 2/2/2006 控制台消 ...

最新文章

  1. 时间源服务器|授时仪|GPS时钟同步系统
  2. 20165301 预备作业三:Linux安装及命令入门
  3. react-native 原生組件封裝與原生模塊和js的交互
  4. 三禧科技 工业机器人_redmi note 9 即将发布,三剑齐发! 三禧科技
  5. Most socially-distanced subsequence CodeForces - 1364B(贪心)
  6. SpringBoot热部署加持
  7. CentOS经常使用文件操作命令[百度博客搬家]
  8. 认识容器,我们从它的历史开始聊起
  9. Golang 参数传递本质
  10. 最速下降法python_python实现最速下降法
  11. 论文阅读笔记:Masked Autoencoders Are Scalable Vision Learners
  12. vue基础-过滤器(Filters)
  13. 未来人工智能对人类的影响的利弊
  14. 极智装修知识|如何将效果图转化为实景的家? - 分享3
  15. CAD2017打开图纸点字体替换时没有字体选择框的问题
  16. 使用数组作为函数参数
  17. App推广技巧之渠道免费资源
  18. 阿德莱德大学计算机科学,School of Computer Science
  19. Android事件分发之ACTION_CANCEL机制及作用
  20. 《信息安全保障》一2.2 我国信息安全保障工作主要内容

热门文章

  1. python关键字中文意思_python 字符串只保留汉字的方法
  2. matlab制作以太网数据接收上位机_3D激光扫描仪设计及数据处理
  3. 北语18春《计算机网络技术》作业4,北语18春《计算机网络技术》作业4
  4. axis2 默认端口_基于 AXIS2/C 的 C 语言库实现对提供 REST API 的系统进行数据访问...
  5. SpringMVC 集成 mybatisPlus 分析
  6. SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
  7. Git Windows安装手册
  8. 第二篇 服务消费者(rest ribbon)(Finchley版本)V2.0_dev
  9. 重温前端基础(二) 移动WEB开发
  10. python期末考试重点_如何应付大学的python考试而不至于挂科?