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

前端 未结 4 1772
Happy的楠姐
Happy的楠姐 2021-02-06 02:56

I just want to know how to find the memory consumption of a particular process for particular time(say 5 seconds)

I am new to linux. So, detailed steps of doing that wil

相关标签:
4条回答
  • 2021-02-06 03:11

    Use top -p PID where PID is the process ID. Information about the process should be displayed, including percent of system memory used. Type d and an integer in seconds to change the refresh rate.

    0 讨论(0)
  • you may use SNMP to get the memory and cpu usage of a process in a particular device in network :)

    Requirements:

    • the device running the process should have snmp installed and running
    • snmp should be configured to accept requests from where you will run the script below(it may be configured in snmpd.conf)
    • you should know the process id(pid) of the process you want to monitor

    Notes:

    • HOST-RESOURCES-MIB::hrSWRunPerfCPU is the number of centi-seconds of the total system's CPU resources consumed by this process. Note that on a multi-processor system, this value may increment by more than one centi-second in one centi-second of real (wall clock) time.

    • HOST-RESOURCES-MIB::hrSWRunPerfMem is the total amount of real system memory allocated to this process.

    **

    Process monitoring script:

    **

    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
    
    0 讨论(0)
  • 2021-02-06 03:16

    This previously posted question:

    How to measure actual memory usage of an application or process?

    seems like it may thoroughly address your question.

    edit: My personal favorite Linux utility for checking the resource usage of processes is top, though it can be misleading for reasons that are explained in the question I linked.

    0 讨论(0)
  • 2021-02-06 03:26

    use watch to periodically execute your script. here is an example:

    watch 'cat /proc/status' --interval=5
    
    watch 'ps aux' --interval=5
    
    0 讨论(0)
提交回复
热议问题