我想实时监控特定流程消耗的指标,如cpu,内存等。
我已经评估了各种工具,但没有找到符合我需求的工具。
sar
捕获我想要的所有内容,它为每个进程提供了良好的内存使用量,但它报告了更多的CPU使用率(甚至超过了计算机消耗的总CPU)
pidstat
更像ps
,但只是将所有数据转储到文件中。
{{1}}更像是快照工具,不会给我实时统计信息
我正在寻找一种可以实时为我提供cpu使用的工具。
答案 0 :(得分:1)
<强> 1。热门 - Linux进程监控
的 2。 VmStat - 虚拟内存统计
第3。 Lsof - 列出打开的文件
的 4。 Tcpdump - 网络数据包分析器
的 5。 Netstat - 网络统计
的 6。 Htop - Linux进程监控
的 7。 Iotop - 监控Linux磁盘I / O
的 8。 Iostat - 输入/输出统计
的 9。 IPTraf - 实时IP LAN监控
的 10。 Psacct或Acct - 监控用户活动
的 1。 Gnome系统监视器
的 2。的gkrellm 强>
第3。 Nagios的强>
的 4。 Monitorix 强>
的 5。系统负载指示器
答案 1 :(得分:0)
我不知道在一个间隔内进行特定过程监控的工具;但是,这样的事情并不难写;这里有一些事实:
/proc/<pid>/stat
将提供有关流程统计信息的大量信息。/proc/<pid>/cmdline
将提供进程命令行。/proc/<pid>/environ
将提供进程知道的环境变量。/proc/<pid>/io
表示IO统计信息。/proc/<pid>/statm
用于内存使用。/proc/<pid>/status
以人类可读的格式提供stat
和statm
。/proc/<pid>/sched
将为您提供各种基于CPU和负载的流程统计信息。您可以使用man proc
了解更多信息;您可以轻松编写一个守护程序,该守护程序在一个时间间隔内提取此信息,然后将其存储在集中的某个位置,例如使用graphite
或Elastic堆栈。
答案 2 :(得分:0)
您需要了解的每个级别的可用工具: