我正在开发一个在嵌入式 Linux (Debian Buster) 上运行的程序,我发现该程序有时会出现性能问题。经过一些调试过程,我怀疑问题可能不在我的程序中。相反,操作系统以某种方式开始进行内存交换,并且我的程序被交换到文件系统。
因此,我使用这里的代码来验证。事实证明,我的程序在大约 500 秒后占用的物理内存要少得多,并且符合假设。
现在我想找出那个进程突然占用了大量内存,但我不知道怎么做。
有没有办法继续监视系统所有进程(或前 10 个)的内存使用情况并转储到日志文件?任何工具或命令都会很好。
谢谢。