我有一些permgen overflow問題。我可以使用哪些工具來查看現在哪些類被加載到permgen中以及它們使用了多少內存? 謝謝。在permgen中查看對象的工具
5
A
回答
-1
看起來像你搜索的是一個分析器。 (例如jProfiler或開放源代碼:http://java-source.net/open-source/profilers)
10
也許你有一個龐大的代碼庫或正在實施大量的字符串。
嘗試jmap
:
jmap -permstat <pid>
(注:permstat
選項不可用在Windows)
例子:
$ jmap -permstat 22982
Attaching to process ID 22982, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 17.0-b16
100691 intern Strings occupying 5641096 bytes.
finding class loader instances ..Finding object size using Printezis bits and skipping over...
done.
computing per loader stat ..done.
please wait.. computing liveness..done.
class_loader classes bytes parent_loader alive? type
<bootstrap> 303 1355992 null live <internal>
0xdd159fe8 9 94104 0xdd153c30 live sun/misc/[email protected]
0xdd153c30 0 0 null live sun/misc/[email protected]
total = 3 312 1450096 N/A alive=3, dead=0 N/A
您也可以嘗試堆傾倒到一個文件,然後將其加載到Eclipse Memory Analyser,這將爲您提供有用的信息,如泄漏的嫌疑人報告和統治者樹。
jmap -dump:format=b,file=heap.bin 22982
如果需要,您可以通過使用-XX:MaxPermSize
JVM選項來增加您的PermGen空間。
+1
'permstat'選項現在可在Windows上使用。 Java版本「1.6.0_31」 Java™SE運行時環境(內部版本1.6.0_31-b05) Java HotSpot™64位服務器虛擬機(版本20.6-b01,混合模式) – Sydney 2012-04-10 09:18:09
相關問題
- 1. 如何在IE8的開發人員工具中查看JavaScript對象?
- 2. 使用開發人員工具欄在IE中查看REQUEST對象
- 3. 工具在COM對象
- 4. 在對象網站中查看圖片
- 5. 無法在對象中查看代碼
- 6. 模型對象比。查看對象
- 7. 查看DJANGO視圖中的對象
- 8. 在文檔查看器中滾動查看器的工具提示
- 9. 在JSON對象中查找具體值
- 10. 查看NHibernate會話對象
- 11. 如何查看Python對象?
- 12. 查看類/子類對象
- 13. 追加新對象(查看)
- 14. XmlDocument對象來查看asp.net
- 15. 要查看WMI調用的工具
- 16. 查看X.509證書的工具?
- 17. 查看CSS特異性的工具
- 18. 查看響應頭的工具
- 19. 查看兩個對象是否具有相同的類型
- 20. 在AngularJS中觀看對象
- 21. 查看對象重構/在ADF
- 22. 在asp.net中查看路徑值的工具mvc 3
- 23. html5工具提示對象?
- 24. 我在哪裏可以找到一個工具來查看內存中的對象?
- 25. 如何在JVM中查看特定代中的對象?
- 26. 錯誤工具欄報表查看器
- 27. 滾動查看和工具欄
- 28. dicom查看器添加工具
- 29. 查看聚簇對象的名稱
- 30. Paraview:查看3D對象的2D投影
謝謝,我無法在jprofiler中找到這個選項 – alex543 2010-09-24 12:38:51
你能否指出任何探查器都有探索perm gen空間的選項。從我所瞭解到的情況來看,他們中的大多數人只是在探索堆積,而不是發電的空間。 – 2011-05-27 18:22:44