我只想知道如何在特定时间内find特定进程的内存消耗(比如5秒)
我是新来的Linux。 所以,这样做的详细步骤将不胜感激
您可以使用SNMP获取网络中特定设备中进程的内存和CPU使用情况:)
要求:
笔记:
HOST-RESOURCES-MIB :: hrSWRunPerfCPU是此进程消耗的系统总CPU资源的千分之一秒数。 请注意,在多处理器系统中,这个值在真实(挂钟)时间的1厘秒内可能增加超过1厘秒。
HOST-RESOURCES-MIB :: hrSWRunPerfMem是分配给此进程的实际系统内存总量。
**
进程监视脚本:
**
echo "IP: " read ip echo "specfiy pid: " read pid echo "interval in seconds:" read interval while [ 1 ] do date snmpget -v2c -c public $ip HOST-RESOURCES-MIB::hrSWRunPerfCPU.$pid snmpget -v2c -c public $ip HOST-RESOURCES-MIB::hrSWRunPerfMem.$pid sleep $interval; done
使用top -p PID
,其中PID是进程标识。 应显示有关进程的信息,包括所用系统内存的百分比。 键入d
和一个以秒为单位的整数来更改刷新率。
使用手表来定期执行脚本。 这里是一个例子:
watch 'cat /proc/status' --interval=5 watch 'ps aux' --interval=5
这个以前发布的问题:
如何测量应用程序或进程的实际内存使用情况?
似乎可以彻底解决你的问题。
编辑:我个人最喜欢的用于检查进程的资源使用情况的Linux实用程序是最重要的,虽然这可能是误导的,因为我链接的问题中解释的原因。