首页 > 电脑专区 > 电脑硬件 >

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

来源:互联网 版权归原作者所有,如有侵权,请联系我们

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

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

工具/原料

  • eclipse
  • Linus服务器

方法/步骤

  • 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 3

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

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

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

  • 注意事项

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

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


    标签: CPU编程内存

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