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

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

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


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

要求:

  • 运行该进程的设备应该安装并运行snmp
  • snmp应该被配置为接受来自你将运行脚本的地方的请求(它可以在snmpd.conf中配置)
  • 您应该知道要监视的进程的进程ID(pid)
  • 笔记:

  • HOST-RESOURCES-MIB :: hrSWRunPerfCPU是此进程消耗的系统总CPU资源的秒数。 请注意,在多处理器系统中,在真实(挂钟)时间的1厘秒内,此值可能会增加超过1厘cen。

  • 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
    
    链接地址: http://www.djcxy.com/p/80157.html

    上一篇: How to find the memory consumption of a particular process in linux for every 5 seconds

    下一篇: How to get memory usage at runtime using C++?