缘由
需要获取某程序运行过程中的内存消耗,一般情况可以使用 top 命令来人工分析,不过我遇到一个程序其内部调用包括 python, R, 以及一系列 linux 命令,这就导致人工统计不太现实
问题变成统计进程及其子进程的内存使用...,父进程ID等,linux 系统可以通过解析 /proc/pid/status 文件来获取
查找某用户所有进程,可使用命令 ps -U username
// monitor_process.cpp
#.../pm 25201 2 监控 id 为25201的进程,刷新间隔为2秒
结果输出:
2020-09-18 17:37:05 1932
2020-09-18 17:37:07 1932
2020-09-18...17:37:09 1932
这里输出的内存单位是 KB
注意:由于需要进程启动之后才能开启监控,导致进程内存无法从0开始;当进程结束,则监控程序也会退出
关于结果展示,直接将输出结果的第二列和第三列拷贝到...Excel 中,插入折线图即可看到内存随时间变化情况