我们可以使用哪些各种机制来检测进程执行是否导致内存碎片?
是否有任何可用的工具?对于使用“C”代码并可以在 Windows、Linux 和 VxWorks 上运行的工具的建议将很有帮助。
我们可以使用哪些各种机制来检测进程执行是否导致内存碎片?
是否有任何可用的工具?对于使用“C”代码并可以在 Windows、Linux 和 VxWorks 上运行的工具的建议将很有帮助。
作为一个建议,您可能想尝试 Valgrind。我不确定它是否是您正在寻找的东西,但它可能会派上用场。
vxworks 中有一个 maxfreeblocksize,如果它保持越来越低,则表明它变得碎片化
在 linux 上,您可以看到以下输出:
cat /proc/buddyinfo
它告诉给定订单有多少页可用。如果可用的高阶页面很少,而大多数低阶页面可用,则表明您的系统内存非常碎片化。寻找“正常”条目。