我經(jīng)常會(huì)這樣來(lái)設(shè)置服務(wù)器端的JVM:JAVA_OPTS="-server -Xms3000m -Xmx3000m -Xss512k"
-server:一定要作為第一個(gè)參數(shù),在多個(gè)CPU時(shí)性能佳
-Xms:初始Heap大小,使用的最小內(nèi)存
-Xmx:java heap最大值,使用的最大內(nèi)存
??? 上面兩個(gè)值一般設(shè)置為同樣的大小。
-Xss:每個(gè)線程的Stack大小
-verbose:gc 現(xiàn)實(shí)垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
剛剛了解到的一些參數(shù)(待實(shí)踐測(cè)試)
-Xmn:young generation的heap大小,一般設(shè)置為Xmx的3、4分之一
-XX:+UseParNewGC :縮短minor收集的時(shí)間
-XX:+UseConcMarkSweepGC :縮短major收集的時(shí)間
??? 提示:此選項(xiàng)在Heap Size 比較大而且Major收集時(shí)間較長(zhǎng)的情況下使用更合適。
-server:一定要作為第一個(gè)參數(shù),在多個(gè)CPU時(shí)性能佳
-Xms:初始Heap大小,使用的最小內(nèi)存
-Xmx:java heap最大值,使用的最大內(nèi)存
??? 上面兩個(gè)值一般設(shè)置為同樣的大小。
-Xss:每個(gè)線程的Stack大小
-verbose:gc 現(xiàn)實(shí)垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
剛剛了解到的一些參數(shù)(待實(shí)踐測(cè)試)
-XX:+UseParNewGC :縮短minor收集的時(shí)間
-XX:+UseConcMarkSweepGC :縮短major收集的時(shí)間
??? 提示:此選項(xiàng)在Heap Size 比較大而且Major收集時(shí)間較長(zhǎng)的情況下使用更合適。
Default max heap of Sun JDK version early than 1.5 is 64 MB, at 1.5 it can grow up to 1GB. Specifying -Xmx only has no side effects to -Xms. eg -Xmx800M the the process is still using a little memory while start up.
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by :>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by :>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by :>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
我的配置,網(wǎng)站shedewang.com,72小時(shí)之內(nèi)沒(méi)有任何停頓。但是還是要考慮到不同情況,多看看gc日志堆棧的變化,有問(wèn)題用jstack,jmap等工具查看哪些地方出了問(wèn)題,這樣可以更快的作出優(yōu)化。
實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。