jdk1.8默认的PS+PO回收器;
ParallelGC 默认的是 Parallel Scavenge(新生代)+ Parallel Old(老年代)。
什么是调优:
1 .根据需求进行JVM规划和预调优
2 .优化运行JVM运行环境(慢,卡顿)
3. 解决JVM运行过程中出现的各种问题.
linux指令
top 查看那个进程的CPU占用比较高
左边第一列是进程号。
top -Hp 进程号 查看进程中具体哪个线程占用的CPU高
左边第一列是线程号,将线程号转成16进制,去jstack中查找
printf "%x\n" 进程号 (转成16进制)
生产环境不能随便操作虚拟机,并且dump文件时会造成进程卡死,那么如何查看问题?
1,。在QA环境进行压测,连接可视化工具,实时观察
2. 生产是多部署服务,把一台机器从负载均衡中拉出来,做dump分析。
3 。使用TCP copy,把生产的请求数据记录一份,打到测试机上去,进行观察。
4 ,启动命令中加上参数,OOM异常发生时,才dump文件。
一线大厂使用Arthas 进行定位与调优:
arthas启动后,会在当前linux中自动寻找java进程,并且挂载到其中,
dashboard指令 仪表盘。可观察哪个线程吃cpu
Heap dump 指令 ,替代jmap,
thread指令 ,把进程里面所有线程全部列出来。
thread -b 自动查找死锁线程
jad XX(程序) 在线反编译,在生产实时将.class文件编译成代码。
本文详细解析了JDK1.8的PS+PO垃圾回收器,涵盖需求规划、性能优化、问题诊断方法,包括使用Linux指令监控CPU占用,Arthas工具定位线程问题,以及在生产环境中安全问题排查策略。
4600

被折叠的 条评论
为什么被折叠?



