java 进程占用系统内存过高分析_nonheap使用率高_fxh13579的博客-CSDN博客
java8应用启动脚本:
采用cms gc
-javaagent:/app/apm-agent/skywalking-agent.jar -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xmx2g -Xms2g -Xmn256m -XX:MetaspaceSize=256m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=/app/deploy/bin/jmxremote.password
## cms
-server -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xmx2g -Xms2g -Xmn256m -XX:MetaspaceSize=256m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
## G1
-server -Xmx4G -Xms4G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC
-XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true
G1 8C16G
JAVA_OPTS=-server -Xmx12G -Xms12G -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -XX:-CICompilerCountPerCPU -XX:CICompilerCount=4 -Djava.util.concurrent.ForkJoinPool.common.parallelism=8 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true -XX:ErrorFile=/app/deploy/logs/hs_err_pid%p.log -XX:HeapDumpPath=/app/deploy/logs/ -XX:+HeapDumpOnOutOfMemoryError
# 设置堆外内存大小 -XX:MaxDirectMemorySize=1G -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
-server -Xmx6G -Xms6G -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -XX:-CICompilerCountPerCPU -XX:CICompilerCount=4 -Djava.util.concurrent.ForkJoinPool.common.parallelism=8 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -XX:MaxDirectMemorySize=1G -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -Djava.awt.headless=true -XX:ErrorFile=/app/deploy/logs/hs_err_pid%p.log -XX:HeapDumpPath=/app/deploy/logs/ -XX:+HeapDumpOnOutOfMemoryError
java7内存CPU备份:
-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
java8内存GC配置:
JAVA_OPTS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true" JAVA_MEM_OPTS="-server -Xmx4G -Xms4G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled"
#!/bin/bash
cd `dirname $0`
cd ..
DEPLOY_DIR=`pwd`
JAR_NAME=$DEPLOY_DIR/lib/foobar.jar
JAVA_OPTS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true"
if [ -z "$JAVA_MEM_OPTS" ];then
JAVA_MEM_OPTS="-server -Xmx4G -Xms4G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC
-XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled"
fi
if [ -z "$JAVA_JMX_OPTS" ];then
JAVA_JMX_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.rmi.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
fi
if [ -z "$JAVA_OOM_OPTS" ];then
JAVA_OOM_OPTS="-XX:ErrorFile=$DEPLOY_DIR/logs/hs_err_pid%p.log
-XX:HeapDumpPath=$DEPLOY_DIR/logs/
-XX:+HeapDumpOnOutOfMemoryError"
fi
nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_JMX_OPTS $JAVA_OOM_OPTS \
-jar $JAR_NAME \
--spring.profiles.active=$SPRING_PROFILES_ACTIVE >/dev/null 2>&1 &