如何檢測應用程序是否受內存限制?有某種模式或工具嗎?主要針對C++和C#應用程序......我不認爲Microsoft Visual Studio中有這樣的工具。如何檢測應用程序是否受內存限制?
1
A
回答
4
那麼,您可以使用perfmon
來查看應用程序要做什麼。查看「.NET CLR內存」計數器 - 有許多可用的選項,例如GC集合(每代),GC花費的時間百分比,每代的大小等等。您還可以指定您只需要查看您的應用程序的數據。
如果這不夠詳細,您需要一個分析器 - 這裏有許多選項,其中包括來自Microsoft的免費CLR Profiler。
0
在大多數應用程序中,這些東西實際上很容易檢測到 - 即耗盡內存和應用程序崩潰。 OTOH,如果你的意思是:我的應用程序是通過分配和釋放太多/太頻繁的內存來破壞內存,那麼你有一個問題,即一個分析器在回答時更好。關於使用哪個分析器,堆棧溢出問了幾個問題。
0
分析工具的各種指針都在目標上。但是,根據您的可用工具(和預算;-),有一些低技術方法可以獲得快速提示:
- 關閉盒子上的其他所有東西,看看性能是否提高。
- 在更多內存的另一個盒子上運行,看看性能是否提高。
- 監控運行前,運行中和運行後的磁盤活動並查找峯值。
0
在Linux下,您可以使用由perfmon kernel patches提供的基於硬件的性能監視接口。他們不在主流內核中,目前有兩種競爭方法(在LKML上需要很長時間來決定哪一個更好),但他們都提供對各種硬件計數器的訪問。使用它們可以跟蹤內存帶寬問題,緩存問題等。這是相當低級的東西,但是在性能方面,這些討厭的問題很重要。
我不知道是什麼工具提供了Windows
我認爲,英特爾VTune可以做的伎倆下等效功能......他們聲稱有
強大的Visual Studio和.NET 整合。快速深入查看 源代碼,以確定有問題的代碼行 。
還有一個免費的評估版 - 所以你可以試試看。
相關問題
- 1. 如何檢測應用程序是否泄漏內存?
- 2. 檢測SQL Azure是否受到限制
- 3. 如何檢測相機是否受用戶限制
- 4. 如何檢測os.system的內存限制
- 5. LruCache受Android應用程序內存空間的限制嗎?
- 6. 如何檢查應用程序是否從內存中恢復?
- 7. 檢查InApp購買是否受限制
- 8. 檢測應用程序是否臨時
- 9. 檢測應用程序是否安裝?
- 10. 如何使用YouTube API檢查視頻是否受限制?
- 11. Cassandra數據庫行大小是否受可用內存限制?
- 12. 如何限制iOS應用程序的內存使用情況
- 13. 如何檢測我的應用程序是否是沙盒?
- 14. 如何檢測Android應用程序是否是遊戲?
- 15. 檢測WCF服務是否受到限制
- 16. 如何檢測UIMotionEffect是否受支持?
- 17. 如何檢測用戶是否分享應用程序Url
- 18. 如何檢測SELinux是否在Android應用程序中啓用?
- 19. Leveldb極限測試 - 限制程序使用的內存
- 20. 是否有可能檢測到在Chrome應用程序內部?
- 21. WCF Test Client應用程序是否存在已知的限制?
- 22. 如何檢測設備是否植入應用程序?
- 23. 如何檢測Unity3D應用程序的狀態 - 是否可見
- 24. 如何檢測桌面應用程序是否已被修改?
- 25. 如何檢測應用程序是否顯示?
- 26. 如何檢測應用程序是否關閉
- 27. 如何檢測我的Android應用程序是否顯示?
- 28. android如何檢測應用程序是否在過去運行
- 29. 如何在Safari中檢測是否安裝了應用程序
- 30. 如何檢測應用程序是否可以卸載?
你的意思是「內存界限」究竟是什麼意思? – 2009-02-08 20:03:25