首页 > 软件开发 > 编程语言 >

编程获取Linus系统CPU、内存使用率!

来源:互联网 2023-03-16 23:55:29 533

用eclipse编写java类,获取Linus上的CPU、内存使用率。Z4E办公区 - 实用经验教程分享!

具体到数值。Z4E办公区 - 实用经验教程分享!

工具/原料

  • eclipse
  • Linus服务器

方法/步骤

  • 1

    新建java类Test。导入ganymed-ssh2-262.jarZ4E办公区 - 实用经验教程分享!

    编程获取Linus系统CPU、内存使用率!Z4E办公区 - 实用经验教程分享!

  • 1相关内容非法爬取自百度经验
  • 2

    编写代码:Z4E办公区 - 实用经验教程分享!

    import java.io.IOException;Z4E办公区 - 实用经验教程分享!

    import java.io.InputStream;Z4E办公区 - 实用经验教程分享!

    import java.nio.charset.Charset;Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    import ch.ethz.ssh2.Connection;Z4E办公区 - 实用经验教程分享!

    import ch.ethz.ssh2.Session;Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    public class Test { Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    private Connection conn; //连接属性Z4E办公区 - 实用经验教程分享!

    private String ipAddr; //ip地址Z4E办公区 - 实用经验教程分享!

    private String charset = Charset.defaultCharset().toString(); //编码格式Z4E办公区 - 实用经验教程分享!

    private String userName;//连接用户名Z4E办公区 - 实用经验教程分享!

    private String password;//连接密码Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    public Test(String ipAddr, String userName, String password, Z4E办公区 - 实用经验教程分享!

    String charset) { Z4E办公区 - 实用经验教程分享!

    this.ipAddr = ipAddr; Z4E办公区 - 实用经验教程分享!

    this.userName = userName; Z4E办公区 - 实用经验教程分享!

    this.password = password; Z4E办公区 - 实用经验教程分享!

    if (charset != null) { Z4E办公区 - 实用经验教程分享!

    this.charset = charset; Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    public boolean login() throws IOException { Z4E办公区 - 实用经验教程分享!

    conn = new Connection(ipAddr); Z4E办公区 - 实用经验教程分享!

    conn.connect(); // 连接 Z4E办公区 - 实用经验教程分享!

    return conn.authenticateWithPassword(userName, password); // 认证 Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    public String exec(String cmds) { Z4E办公区 - 实用经验教程分享!

    InputStream in = null; Z4E办公区 - 实用经验教程分享!

    String result = ""; Z4E办公区 - 实用经验教程分享!

    try { Z4E办公区 - 实用经验教程分享!

    if (this.login()) { Z4E办公区 - 实用经验教程分享!

    Session session = conn.openSession(); // 打开一个会话 Z4E办公区 - 实用经验教程分享!

    session.execCommand(cmds); Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    in = session.getStdout(); Z4E办公区 - 实用经验教程分享!

    result = this.processStdout(in, this.charset); Z4E办公区 - 实用经验教程分享!

    session.close(); Z4E办公区 - 实用经验教程分享!

    conn.close(); Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    } catch (IOException e1) { Z4E办公区 - 实用经验教程分享!

    e1.printStackTrace(); Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    return result; Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    public String processStdout(InputStream in, String charset) { Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    byte[] buf = new byte[1024]; Z4E办公区 - 实用经验教程分享!

    StringBuffer sb = new StringBuffer(); Z4E办公区 - 实用经验教程分享!

    try { Z4E办公区 - 实用经验教程分享!

    while (in.read(buf) != -1) { Z4E办公区 - 实用经验教程分享!

    sb.append(new String(buf, charset)); Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    } catch (IOException e) { Z4E办公区 - 实用经验教程分享!

    e.printStackTrace(); Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    return sb.toString(); Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    /**Z4E办公区 - 实用经验教程分享!

    * @param argsZ4E办公区 - 实用经验教程分享!

    */ Z4E办公区 - 实用经验教程分享!

    public static void main(String[] args) { Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    Test test = new Test("192.168.1.128", "root", Z4E办公区 - 实用经验教程分享!

    "123.com", "utf-8");Z4E办公区 - 实用经验教程分享!

    ThreadGetCpuUsage threadGetCpuUsage = new ThreadGetCpuUsage(test);Z4E办公区 - 实用经验教程分享!

    new Thread(threadGetCpuUsage).start();Z4E办公区 - 实用经验教程分享!

    System.out.println(test.ipAddr "CPU使用率:");Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    } Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    class ThreadGetCpuUsage implements Runnable{Z4E办公区 - 实用经验教程分享!

    Test tool;Z4E办公区 - 实用经验教程分享!

    ThreadGetCpuUsage(Test tool){Z4E办公区 - 实用经验教程分享!

    this.tool = tool;Z4E办公区 - 实用经验教程分享!

    }Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    @OverrideZ4E办公区 - 实用经验教程分享!

    public void run() {Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    // TODO Auto-generated method stubZ4E办公区 - 实用经验教程分享!

    while(true){Z4E办公区 - 实用经验教程分享!

    try {Z4E办公区 - 实用经验教程分享!

    Thread.sleep(1);Z4E办公区 - 实用经验教程分享!

    } catch (InterruptedException e) {Z4E办公区 - 实用经验教程分享!

    // TODO Auto-generated catch blockZ4E办公区 - 实用经验教程分享!

    e.printStackTrace();Z4E办公区 - 实用经验教程分享!

    }Z4E办公区 - 实用经验教程分享!

    String result = tool.exec("./getCpuUsage.sh"); Z4E办公区 - 实用经验教程分享!

    result = result.substring(0,result.indexOf("%"));Z4E办公区 - 实用经验教程分享!

    //System.out.println("取得数值:");Z4E办公区 - 实用经验教程分享!

    float convertResult=new Float(result)/100;Z4E办公区 - 实用经验教程分享!

    System.out.println("CPU使用率为:" convertResult);Z4E办公区 - 实用经验教程分享!

    }Z4E办公区 - 实用经验教程分享!

    }Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    }Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    连接属性配置:Z4E办公区 - 实用经验教程分享!

    编程获取Linus系统CPU、内存使用率!Z4E办公区 - 实用经验教程分享!

  • 3

    Run As Z4E办公区 - 实用经验教程分享!

    Z4E办公区 - 实用经验教程分享!

    编程获取Linus系统CPU、内存使用率!Z4E办公区 - 实用经验教程分享!

  • 注意事项

    • ganymed-ssh2-262.jar一定要导入正确
    • float convertResult=new Float(result)/100; 这一步关键点,百分比转换成单精度类型

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Z4E办公区 - 实用经验教程分享!


    标签: CPU编程内存

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码