Java如何监控Linux系统。

Python017

Java如何监控Linux系统。,第1张

啥叫监控linux系统?

写java程序执行linux命令

try {

String command = "ping localhost"

Process ps = Runtime.getRuntime().exec(command)

BufferedReader br = new BufferedReader(new InputStreamReader(ps

.getInputStream()))

String line

System.out.println("------------------------")

while ((line = br.readLine()) != null) {

System.out.println(line)

}

System.out.println("------------------------")

} catch (Exception e) {

e.printStackTrace()

}

执行结果:

------------------------

Pinging xxx [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

------------------------

修改对应的command就应该可以了 不知道你是不是这个需求?

CPU资源时,按照以下步骤进行查找:

(一):通过【 top -p 12377 -H】 查看java进程的有哪些线程的运行情况;

和通过【jstack 12377 >stack.log】生成Java线程的dump详细信息;

先用top命令找出占用资源厉害的java进程id,如图:# top

如上图所示,java的进程id为’52554′,接下来用top命令单独对这个进程中的所有线程作监视:

1top -p 52554 -H

# top视图里面里面可以通过快捷键依次b ,x高亮显示top的列找出需要的线程,默认CPU排序,Sh

用java的话,有两个方法:

1.利用java直接调用shell命令查看cpu的参数(系统不同命令也不同)

类似代码:

可以查考http://aimer311.javaeye.com/blog/347908

2.利用软件linux下可以安装net-snmp实现远程和本地监控

具体方法的话比较负责你网上查查

因为不知道你的linux到底是什么系统所有我没法给你写命令