2015-03-03 25 views
5

今天接受採訪時,我遇到了一個棘手的問題。他們問我如何找到生產代碼中的內存不足錯誤的根本原因。我開始談論配置文件。面試官通過說明如何產生生產中的流量以從分析器中受益,將它拉向另一個方向。我沒有線索。任何信息都會非常有幫助。生產代碼中的內存泄漏檢測

回答

3

廓線儀也不要追內存泄漏在生產中的最佳工具

  1. 廓線儀也不要在生產的JVM
  2. 通常不可能在開發中重建或測試中創建的內存泄漏的條件下運行生產(訪問者提示)

的解決方案是採取堆轉儲(使用JMAP例如 - JVM依賴的),並使用等優異的(並且可以免費獲得)SAP Memory Analyzer(MAT)的工具分析它

+1

注意:採取堆轉儲只會凍結應用程序服務器,有時應用程序可能會崩潰。假設你已經爲生產中的jvm分配了12GB,則需要另一臺具有12GB以上的機器來分析堆轉儲。您也可以使用jvisualvm進行分析。它作爲JDK的一部分發貨。 – 2016-12-13 06:50:01