logging每个进程的内存使用情况

有没有办法logging在Linux中的每个进程使用的内存量? 我们的其中一台服务器存在内存使用率高峰,时常closures机器,日志logging会帮助我们find根本原因。

如果你的需求不是很复杂,也许你可以用ps和while循环来做:

 while true; do date; ps auxw --sort rss | tail -n 10; echo; sleep 60; done >> logfile 

这每十分钟logging前十个进程(通过内存使用)。

最干净的解决scheme将是做一个类似cron的工作

 ps auxww | logger -p local0.info -t ps 

这将通过日志守护进程将log输出logging到local0工具(可以更改为任何你想要的)