生成mat可查看文件:jmap -dump:format=b,file=heap.bin <pid>
JVM调优参数:
# 设置初始堆大小为256MB,最大堆大小为1024MB
java -Xms256m -Xmx1024m -jar your-application.jar
# 解释
-Xms256m # 设置JVM启动时的初始堆大小为256MB
-Xmx1024m # 设置JVM可以使用的最大堆大小为1024MB
这样的设置有助于避免应用在运行过程中频繁地进行内存分配。
# 使用G1垃圾回收器
java -XX:+UseG1GC -jar your-application.jar
# 解释
-XX:+UseG1GC # 启用G1垃圾回收器
UseG1GC 参数用于启用G1垃圾回收器,它是适用于大堆内存并且需要低延迟的场景。
# 设置线程堆栈大小为1MB
java -Xss1m -jar your-application.jar
# 解释
-Xss1m # 设置每个线程的堆栈大小为1MB
-Xss 参数用于设置每个线程的堆栈大小。
线程堆栈大小应根据应用的实际需求调整,避免过大消耗过多内存,或过小导致栈溢出。
java -Xms256m -Xmx1024m -XX:+UseG1GC -Xss1m -jar 文件名.jar