java应用程序占用高内存
重要要点
- 解决内存问题可能很棘手,但是正确的方法和正确的工具集可以大大简化此过程。
- Java HotSpot JVM可以报告几种OutOfMemoryError消息,因此务必清楚地理解这些错误消息,并且在我们的工具箱中具有广泛的诊断和故障排除工具以诊断和根除这些问题,这一点很重要。
-
在本文中,我们介绍了广泛的诊断工具,这些工具在解决内存问题方面非常有用,包括:
- HeapDumpOnOutOfMemoryError和PrintClassHistogram JVM选项
- Eclipse垫
- Java VisualVM
- J控制台
- 贾特
- YourKit
- 映射
- jcmd
- Java Flight Recorder和Java Mission Control
- GC日志
- NMT
- 本机内存泄漏检测工具,例如dbx,libumem,valgrind,purify等。
对于Java进程,有几个内存池或空间-Java堆,Metaspace,PermGen(在Java 8之前的版本中)