占内存消耗

sas*_*ang 4 c c++ linux

考虑流程消耗的内存的策略是什么?例如,我有一个程序,在旧版本中,它对内存的使用不是最理想的,并且它没有在正确的时间发布,这意味着它保留了比它应该的更长的分配.请注意,我并不是说它泄露了.该程序的新版本修改了算法,现在内存在程序的生命周期中更早发布.怎么跟踪这个?想到的一些方法是:编写一个包含libc/libstdc ++的malloc/new替换库,以某种方式使用valgrind来执行它或使用ps对流程使用的内存进行采样并绘制图形?

Naj*_*ero 6

如果您不想使用第三方(有一些来自AMD,英特尔,valgrind应该有" massif "工具),您可以查看 Mtrace.

几乎是你为内存分配计划的.

我宁愿建议你使用valgrinds地块工具,它没有一个像样的gui /图,但显示procentuals非常准确