【发布时间】:2010-01-22 06:33:58
【问题描述】:
我们可以使用哪些各种机制来检测进程执行是否导致内存碎片?
是否有任何可用的工具?对于使用“C”代码并可以在 Windows、Linux 和 VxWorks 上运行的工具的建议将很有帮助。
【问题讨论】:
-
上述工具应该在哪个平台上运行?
-
感谢您的提问。我已经编辑并更新了我的问题。
我们可以使用哪些各种机制来检测进程执行是否导致内存碎片?
是否有任何可用的工具?对于使用“C”代码并可以在 Windows、Linux 和 VxWorks 上运行的工具的建议将很有帮助。
【问题讨论】:
作为一个建议,您可能想尝试 Valgrind。我不确定它是否是您正在寻找的东西,但它可能会派上用场。
【讨论】:
vxworks 中有一个 maxfreeblocksize,如果它不断降低,则表明它越来越碎片化
【讨论】:
在linux上你可以看到输出:
cat /proc/buddyinfo
它告诉给定订单有多少页可用。如果可用的高阶页面很少,而大多数低阶页面可用,则表明您的系统内存非常碎片化。查找“正常”条目。
【讨论】: