我认为我的LAMP应用程序中可能发生内存泄漏(内存用完,交换开始使用,等等)。如果我可以看到各个进程使用了多少内存,则可以帮助我解决问题。有没有办法让我在* nix中查看此信息?
获得正确的内存使用情况比人们想象的要棘手。我能找到的最好方法是:
echo 0 $(awk '/TYPE/ {print "+", $2}' /proc/`pidof PROCESS`/smaps) | bc
其中“ PROCESS”是要检查的过程的名称,而“ TYPE”是以下之一:
Rss
Shared
Private
Swap
Pss
其他有效值是 Size (即虚拟大小,几乎没有意义)和 Referenced (当前标记为引用或访问的内存量)。
Size
Referenced
您可以使用watch或其他bash-script-fu来监视要监视的进程的那些值。
watch
有关更多信息smaps:http : //www.kernel.org/doc/Documentation/filesystems/proc.txt。
smaps