在Ubuntu上配置Java虛擬機(JVM)參數主要有以下兩種方式:
編輯配置文件
打開~/.bashrc
(或~/.zshrc
、/etc/profile
),添加以下內容:
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC" # 示例:設置初始堆512MB、最大堆1024MB,啟用G1垃圾回收器
-Xms
:初始堆內存大小-Xmx
:最大堆內存大小-XX:+UseG1GC
:啟用G1垃圾回收器(適用于大內存場景)使配置生效
執行命令:
source ~/.bashrc # 或 source ~/.zshrc、source /etc/profile
驗證配置
運行以下命令查看參數是否生效:
echo $JAVA_OPTS
啟動Java應用時直接添加參數:
java -Xms512m -Xmx1024m -XX:+UseG1GC -jar your-application.jar
適用于臨時調整參數,無需修改配置文件。
參數 | 作用 | 示例 |
---|---|---|
-Xms |
初始堆內存大小 | -Xms512m (512MB) |
-Xmx |
最大堆內存大小 | -Xmx2048m (2GB) |
-Xss |
線程棧大小 | -Xss256k (256KB) |
-XX:NewRatio |
年輕代與老年代比例 | -XX:NewRatio=3 |
-XX:SurvivorRatio |
新生代中Eden區與Survivor區比例 | -XX:SurvivorRatio=8 |
-XX:+UseG1GC |
啟用G1垃圾回收器 | |
-XX:+UseParallelGC |
啟用并行垃圾回收器 |
sudo apt install openjdk-11-jdk
安裝OpenJDK 11。JAVA_OPTS
環境變量統一管理參數,避免每次啟動手動輸入。jcmd <pid> VM.flags
或java -XX:+PrintFlagsFinal
查看當前JVM參數。