字段說明
-Xms1024m -Xmx1024m -Xmn256m -XX:SurvivorRatio=4 -XX:NewRatio=3 -XX:+PrintGCDetails -XX:+PrintCommandLineFlags -XX:UseParNewGC【完整字段】
-Xms1024m -Xmx1024m -Xmn256m -XX:+PrintGCDetails -XX:+PrintCommandLineFlags【常用字段】
-Xms1024m 初始值 1G
-Xmx1024m 最大值 1G
-Xmn256m 最小值 256M
-XX:SurvivorRatio=4 新生代 設置 eden區 1:4 (S0區+S1區) 比例
-XX:NewRatio=3 老年代 設置 eden區 3:1 老年代區
-XX:+PrintGCDetails GC執行一次 打印一次日誌
-XX:+PrintCommandLineFlags 打印更詳細的GC日誌
-XX:UseParNewGC 對eden區使用 並行回收機制
jvm 調優
free -g 以g類型 顯示內存情況
top 任務管理器
ps -ef|grep -c xxx查詢xxx總進程數
jstat -gc pid pid垃圾回收情況
jstat -gc pid i 以i毫秒查詢pic的gc回收情況
jstat -gc pid i j 以i毫秒查詢pic的gc回收情況查詢j次
LINUX環境下
與Spring Boot項目同路徑下新建一同名配置文件。
例如:當前項目爲demo.jar,那麼新建一文件demo.conf,內容如下:
#jvm運行參數
JAVA_OPTS="-server -Xms512M -Xmx512M -Xmn256M -XX:+PrintGCDetails -XX:+PrintCommandLineFlags"#項目運行參數
RUN_ARGS="--server.port=8081 --logging.level=INFO --spring.thymeleaf.cache=true --logging.file=/var/log/demo.log"
總體來說使用頻率較高的application可以把內存適當設置大一點;使用頻率爲一般的可以設置低一點,比方521M;網關方面的線程池主要安裝CPU的核心來設置。