监视系统CPU,内存,磁盘I/O和以DIFF频率的网络使用
-
25-10-2019 - |
题
我需要监视计算机使用的CPU,N/W,内存和磁盘I/O。目前,我正在使用Ubuntu,并将使用Java代码运行此操作。
此外,监视频率/采样间隔必须可自定义。我已经读过 这个. 。除了Sigar API,没有提及网络统计信息。
我正在看一些轻量级的东西。我有两件事可以做到这一点:
从我的Java代码中运行shell脚本,该代码格式化O/p。如果是这样,我应该使用哪个命令? TOP仅给出了统计过程。
使用Sigar API。但是可以设置采样率吗?
谢谢!
解决方案
您可以安装PRSTAT,IOSTAT,LINUX的PIDSTAT软件包,并使用Commandline获取所有信息。使用Java的ProcessBuilder在Shell中执行这些命令并捕获文件中的输出,以便将其用于将来的处理。一个谨慎的措辞,连续写入同一文件并不是一个好主意(通过指定轮询间隔和使用命令选项指定民意调查的数量来控制信息)。
希望这可以帮助。
PS:顺便说一句,看看Nagios。
不隶属于 StackOverflow