Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java性能调优 (7 线程和同步的性能 (同步 (synchronized, Lock, java.util.concurrent, java…
Java性能调优
7 线程和同步的性能
ThreadPoolExecutor, SynchronousQueue, LinkedBlockingQueue, ArrayBlockingQueue
-
-
-
-
-
-
-
-
-
-
5 堆内存
堆分析
直方图:jcmd process_id GCclass_histogram, jmap -histo process_id, top对象
-
-
读heapdump文件:jhat, jvisualvm,
mat (eclipse memory analysis tool)
内存溢出
-
-
堆内存不足:活跃对象太多,可设置自动heapdump,设置HeapDumpOnOutOfMemory, HeapDumpAfterFullGC, HeapDumpBeforeFullGC
-
减少内存使用
-
-
-
用不可变对象和标准对象,String.intern(), WeakHashMap
-
6 原生内存
分配原生内存:JNI malloc, New IO, AllocateDirect()
-
原生内存跟踪:-XX:NativeMemoryTracking(java8), jcmd process_id VM.native_memory summary
优化JVM内存
- 大页: -XX:+UseLargePages(需要操作系统开启相应功能), 2. 压缩的OOP(ordinary object pointer)
3 Java性能调优工具
操作系统工具
CPU:vmstat, iostat, cpu使用率越高越好
-
-
-
-
-
4 垃圾回收
-
调优
-
代空间的调整
NewRatio, NewSize,MaxNewSize,通过调整新生代的大小来控制老年代的大小
-
PermSize,MaxPermSize, MetaspaceSize, Max~
-
-
-
工具
-verbose:gc, +PrintGC, +PrintGCDetails, +PrintGC*
-
-
-
-