如果流程执行导致内存碎片,我们可以使用哪种机制来检测?
是否有相同的工具?对使用“C”代码并可在Windows,Linux和VxWorks上运行的工具的建议将会有所帮助。
答案 0 :(得分:2)
正如一个建议,你可能想尝试Valgrind。我不确定这是你在找什么,但它可能会派上用场。
答案 1 :(得分:1)
vxworks中有一个maxfreeblocksize,如果它保持较低并且较低,则表明它已经碎片
答案 2 :(得分:0)
在linux上你可以看到输出:
cat /proc/buddyinfo
它告诉您给定订单的页数是多少。如果可用的高阶页面很少,并且大多数低阶页面可用,则表明您的系统内存非常分散。寻找"普通"条目。
请参阅proc.txt