有什麼策略來說明進程消耗的內存?例如,我有一個程序,而在舊版本中,它的內存使用並不理想,並沒有在正確的時間發佈,這意味着它在分配上的時間比它應該保持的時間長。請注意,我並不是說它泄露了。該程序的新版本對算法進行了修改,現在內存在程序的生命週期中很快就會發布。如何跟蹤這個?一些想到的方法是:編寫一個包裝libc/libstdC++的malloc/new替換庫,以某種方式使用valgrind來執行此操作,或者使用ps對進程使用的內存進行採樣並繪製圖形?佔內存消耗
Q
佔內存消耗
4
A
回答
6
如果你不想使用第三方軟件(有一些來自AMD,英特爾,valgrind應該有「山體」工具),你可以看看 Mtrace。
幾乎做了你計劃的內存分配。
寧願建議您使用valgrinds地塊工具,它沒有一個像樣的GUI /圖形,但顯示procentuals相當準確
+0
ah mtrace。這也是一個不錯的選擇。 –
2
使用PS來分析使用的內存......看到這真棒SOF問題之前:How to measure actual memory usage of an application or process?
但是,只要你確定ps的限制,你可以使用crontab創建一個每N秒/分鐘運行一次的作業......將ps aux
的結果附加到一個文件中...然後你可以使用電子表格隨着時間的推移繪製內存結果的軟件。
過去我已經成功做到這一點。
Valgrind的,然而,可能是一個更好的選擇:http://valgrind.org/docs/manual/quick-start.html
你可以做這個很類似的東西。
相關問題
- 1. 內存消耗
- 2. HSQLDB內存消耗
- 3. QRegularExpressionMatch內存消耗
- 4. Direct2D內存消耗
- 5. QTreeView內存消耗
- 6. EntityManager內存消耗
- 7. Boost.Flyweight內存消耗
- 8. Luakit內存消耗
- 9. Emgu CV - 內存泄漏(內存消耗)
- 10. .NET內存消耗問題
- 11. JTextArea消耗大量內存
- 12. Tomcat 6內存消耗
- 13. Netty 4 beta1內存消耗
- 14. CGImageRef |內存消耗|泄漏
- 15. MongoDB內存消耗低
- 16. BigDecimal(Java)的內存消耗
- 17. Node.js和MongoDB內存消耗
- 18. KDB/Q內存消耗
- 19. SOLR收集內存消耗
- 20. Groovy 64位內存消耗
- 21. Matlab函數內存消耗
- 22. Sidekiq消耗太多內存
- 23. 減少內存消耗
- 24. EF的內存消耗
- 25. ObjectInputStream消耗太多內存
- 26. Scala ParRange內存消耗
- 27. Android的內存消耗
- 28. Java消耗太多內存
- 29. Windows phone ListBox內存消耗
- 30. AdMob消耗更多內存
[使用Valgrind對內存進行採樣並繪製圖形,你說?](http://valgrind.org/docs/manual/ms-manual.html#ms-manual.theoutputgraph) – BoBTFish