检测进程中的内存碎片问题

时间:2010-01-22 06:33:58

标签: c memory-fragmentation

如果流程执行导致内存碎片,我们可以使用哪种机制来检测?

是否有相同的工具?对使用“C”代码并可在Windows,Linux和VxWorks上运行的工具的建议将会有所帮助。

3 个答案:

答案 0 :(得分:2)

正如一个建议,你可能想尝试Valgrind。我不确定这是你在找什么,但它可能会派上用场。

http://valgrind.org/

答案 1 :(得分:1)

vxworks中有一个maxfreeblocksize,如果它保持较低并且较低,则表明它已经碎片

答案 2 :(得分:0)

在linux上你可以看到输出:

cat /proc/buddyinfo

它告诉您给定订单的页数是多少。如果可用的高阶页面很少,并且大多数低阶页面可用,则表明您的系统内存非常分散。寻找"普通"条目。

请参阅proc.txt