bingoogolapple / bingoogolapple.github.io

个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86 stars 22 forks source link

JVM #164

Open bingoogolapple opened 7 years ago

bingoogolapple commented 7 years ago

性能调优

JVM 调优

前两个目前是相悖的,要想 GC 时间小必须要一个更小的堆,要保证 GC 次数足够少,必须保证一个更大的堆,我们只能取其平衡

JVM 调优 了解JVM的内存管理与垃圾回收 JVM Garbage Collection JVM Options For GC JVM内存JAVA_OPTS参数 JVM 监控工具介绍 关键业务系统的JVM参数推荐(2016热冬版)

image

bingoogolapple commented 7 years ago

image

bingoogolapple commented 7 years ago

查看 Tomcat 进程

jps -v | grep 8000

JVM执行时使用哪些参数以及其各参数默认值

java -XX:+PrintFlagsFinal -version
java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version

后面花括号里面有product的表示可以在启动参数中设置的,花括号里面是“product rw”的表示你还可以在jvm启动后使用类似下面的命令来设置这些参数

jinfo -flag -PrintHeapAtGC=true <pid>
<Connector
  port="8000"
  redirectPort="8443"
  protocol="HTTP/1.1"
  maxThreads="300"
  minSpareThreads="25"
  maxSpareThreads="75"
  minProcessors="5"
  maxProcessors="1000"
  acceptCount="300"
  connectionTimeout="20000"
  useURIValidationHack="false"
  enableLookups="false"
  URIEncoding="UTF-8"
  disableUploadTimeout="false"
  compression="on"
  compressionMinSize="2048"
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
/>