Java服務遇到了內存泄露的問題,一般使用MAT分析,可以定位到哪一個類以及其依賴的類佔用了最多的內存。 但是MAT新版本依賴Java 11,安裝的時候還遇到了一些小麻煩。
安裝MAT
-
安裝運行後發現Java版本太低
因爲項目開發使用都是Java8,所以不想升級開發環境中的Java,所以單獨對MAT進行配置
爲MAT單獨設置jdk-11
- 修改
MemoryAnalyzer.ini
vim /Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini
- 增加了第一行:設置Java 11
-vm
/Users/tenmao/Downloads/jdk-11.0.12.jdk/Contents/Home/bin/java
-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.200.v20210527-0259
-vmargs
-Xmx1024m
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XstartOnFirstThread
ps: windows下使用的不是java,是javaw