jvm 优化篇

0 jinfo查看jvm运行参数

jps 查看java进程

 
jinfo -flags 6219 查看jvm运行参数
 
 
jstat -gc 6219  查看垃圾回收统计( jstat -compiler 6219  查看编译统计

 

1 查看内存使用情况

   jmap -heap 6219     6219是对应jvm的进程号

2 内存使用情况dump到对应文件中(通过mat工具可以对文件进行分析)

  jmap -dump:format=b,file=/tmp/dump.dat  6219  
 
 
   jhat -port 9999 /tmp/dump.dat(也可以用jhat命令查看)
 
3   jstack 的作用是将正在运行的 jvm 的线程情况进行快照,并且打印出来 
 
  jstack 6219
 
 
4 使用G1垃圾回收器 ( GC Easy 是一款在线的可视化工具
  4.1 G1垃圾回收器相关参数
    -XX:+UseG1GC    使用 G1 垃圾收集器
    -XX:MaxGCPauseMillis   设置期望达到的最大GC 停顿时间指标( JVM 会尽力实现,但不保证达到),默认值是 200 毫秒。
    -XX:G1HeapRegionSize=n    设置的 G1 区域的大小。值是 2 的幂,范围是 1 MB 32 MB 之间,默认是堆内存的1/2000
    -XX:ParallelGCThreads=n   设置 STW 工作线程数的值。将 n 的值设置为逻辑处理器的数量。 n 的值与逻辑处理器的数量相同,最多 为 8
     -XX:ConcGCThreads=n    设置并行标记的线程数。将 n 设置为并行垃圾回收线程数 (ParallelGCThreads) 1/4 左右。
     -XX:InitiatingHeapOccupancyPercent=n    设置触发标记周期的 Java 堆占用率阈值。默认占用率是整个 Java 堆的 45%
 
 4.2使用G1垃圾回收器
# 设置了最大停顿时间 100 毫秒,初始堆内存 128m ,最大堆内存 1024m
JAVA_OPTS = "-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -Xms128m -Xmx1024m -XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -
Xloggc:../logs/gc.log"

你可能感兴趣的:(linux,jvm)