如何在Linux中每5秒钟查找一个特定进程的内存消耗量

我只想知道如何在特定时间内find特定进程内存消耗(比如5秒)

我是新来的Linux。 所以,这样做的详细步骤将不胜感激

您可以使用SNMP获取网络中特定设备中进程的内存和CPU使用情况:)

要求:

  • 运行该进程的设备应该安装并运行snmp
  • snmp应该被配置为接受从哪里运行脚本的请求(它可以在snmpd.conf中配置)
  • 您应该知道要监视的进程的进程ID(pid)

笔记:

  • 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实用程序是最重要的,虽然这可能是误导的,因为我链接的问题中解释的原因。