通过命令查看参数:java -XX:+PrintFlagsFinal –version | grep 参数关键字,来查看当前参数是否被使用
查看线上运行的jvm的gc线程数:
java -XX:+PrintFlagsFinal -version | grep ParallelGCThreads
exec java $JAVA_OPTS
-server
-Xmx16G ##程序运行期间最大可占用的内存大小
-Xms16G ##程序启动时占用内存大小
# -Xss ##是指设定每个线程的堆栈大小(未设置)
-Xmn8G ##年轻代大小
-XX:PermSize=256m
-XX:MaxPermSize=512m
-XX:MaxDirectMemorySize=1024m
-XX:+UseParNewGC
-XX:ParallelGCThreads=4 ##GC线程数【CPU数小于8,等于CPU数。 CPU数大于8,则= 8 + ((N - 8) * 5/8)】
-XX:MaxTenuringThreshold=4
-XX:SurvivorRatio=2
-XX:+UseConcMarkSweepGC
-XX:-CMSParallelRemarkEnabled
-XX:+CMSClassUnloadingEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseCMSCompactAtFullCollection
-XX:+DisableExplicitGC
-Dsun.rmi.dgc.client.gcInterval=36000009999
-Dsun.rmi.dgc.server.gcInterval=36000009999
-Djava.util.Arrays.useLegacyMergeSort=true
-Xloggc:./gc.vgc
-XX:+PrintGCDetails
-Duser.timezone=GMT+08 \
-classpath "$CLASSPATH" \
-Dapp.name="perf2alarm" \
-Dapp.pid="$$" \
-Dapp.repo="$REPO" \
-Dapp.home="$BASEDIR" \
-Dbasedir="$BASEDIR" \
com.aaa.perf2alarm.AlarmApplication \
"$@"
附:
1、查看物理CPU个数
[am-xxx@localhost logs]$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
16
2、查看每个物理CPU中core的个数(即核数)
[am-xxx@localhost logs]$ cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
3、查看逻辑CPU的个数
[am-xxx@localhost logs]$ cat /proc/cpuinfo| grep "processor"| wc -l
16