我只想知道如何找到特定进程在特定时间(比如 5 秒)的内存消耗
我是 linux 新手。因此,将不胜感激执行此操作的详细步骤
使用top -p PID
其中 PID 是进程 ID。应显示有关进程的信息,包括已使用的系统内存百分比。键入d
和以秒为单位的整数以更改刷新率。
使用watch定期执行你的脚本。这是一个例子:
watch 'cat /proc/status' --interval=5
watch 'ps aux' --interval=5
您可以使用 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
这个之前发布的问题:
似乎它可以彻底解决您的问题。
编辑:我个人最喜欢的用于检查进程资源使用情况的 Linux 实用程序是顶级的,尽管由于我链接的问题中解释的原因,它可能会产生误导。