【发布时间】:2012-03-13 06:34:12
【问题描述】:
我想在命令行输入pid,取回没有被保留的最大的连续地址空间。有任何想法吗?
我们的 32 位应用程序在 64 位 RHEL 5.4 上运行,运行一段时间(比如 24 小时)后就报废了。那时它只使用了 2.5 GB 的内存,但我们得到了内存不足的错误。我们认为它无法映射大文件,因为应用程序的内存空间是碎片化的。我想去生产服务器测试一下这个理论。
【问题讨论】:
-
cat /proc/<pid>/maps加上一些 awk/perl/whatever 按摩? -
</proc/self/maps perl -ne'/-/;print hex($``)-$e,$/;$e=hex($'"'"')'| sort -nr|head -n 1 -
谢谢!完美的!我确实必须将双 `` 更改为单 ` 才能使其工作。
标签: linux memory-management mmap memory-fragmentation