你知道如何监控单个进程的内存使用情况吗?
我想获取给定时间范围内的内存使用情况,包括最大使用量和平均使用量。
不要告诉我使用top -p PID
,因为我无法盯着屏幕几个小时来检查最大内存使用情况。
答案1
安装 sysstat 包
阅读man pidstat
,查看选项和例如命令转到手册页的底部。
例如,对于 nautilus,ps 报告的当前 id 为 2286,每隔 60 秒生成 120 份报告,输出到主文件夹中的日志中
获取要跟踪的进程 ID,有很多方法,下面介绍几种 - (启动进程/应用程序
在列表中查找
ps axu
如果你知道名字那么这就可以了,当前的例子是 nautilus
ps axu |grep nautilus |grep -v grep
然后在终端中(在 -p 之后替换进程 #
pidstat -r -p 2286 60 120 > naut-mem.log
如果需要,只需在 pidstat 运行时最小化终端
如果你计划多次输出到同一个日志文件并希望将其附加到命令中,请使用 >> 而不是 >