缘由
需要获取某程序运行过程中的内存消耗,一般情况可以使用 top 命令来人工分析,不过我遇到一个程序其内部调用包括 python, R, 以及一系列 linux 命令,这就导致人工统计不太现实
问题变成统计进程及其子进程的内存使用...维护一个表,记录与待查询进程相关的子进程及其内存,初始化只有待查询进程
遍历所有进程:
如果当前进程的父进程在表中:
将此进程及对应内存加入表.../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 中,插入折线图即可看到内存随时间变化情况