随记2021-1217
Posted mingyuewu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随记2021-1217相关的知识,希望对你有一定的参考价值。
随记
看森哥排错java问题,遂有此文
1 问题描述
一个java应用使用CPU占比长时间为 200%左右
2 排查思路
(1)GC 垃圾回收
top命令查看该应用占用的内存大小,占用内存大小和-Xmx大致相同,可能是Full GC 导致CPU占用较高,但GC不会导致CPU长时间高。由于GC导致CPU使用高的表现:
1 进程占用内存和-Xmx大致相同
2 CPU使用率间歇性高,尤其在业务量多的时候
3 Jstat gc pid 10000 5 查看进程号为pid的进程情况,每10s一次,执行5次。
查看YGC FGC 次数,如果FGC次数增长较快,很有可能是GC导致CPU占用高
(2)查看线程
top -Hp pid 查询进程下所有线程的运行情况(shift+p 按cpu排序,shift+m 按内存排序)
1 可以使用jstack 单独查看某个线程的详细信息
2 也可以导出jfr,使用可视化工具, 查看全局信息,IO,socket,锁等等信息都可以查看到
jfr可视化分析还可以看到各个过程使用了多少时间。
(3) 分析思路
垃圾回收GC、数据库连接池配置错误、JVM底层问题、网络问题等等都有可能导致CPU占用高
定位进程、定位线程、缩小范围 我还没学会怎么排查,学无止境,读完书工作还是要学习
最近的鸡汤
1、 做难事必有收获
2 、做事要认真,一样的事情,花费一样的时间和精力,如果马马虎虎敷衍了事,那时间和力气就白费了
3 、计算机行业的知识是倒金字塔,底层的知识学会了,上层的知识会更容易融会贯通。打好基础知识,操作系统,数据库,计算机网络,数据结构,计算机组成原理,而不是追逐学习变来变去的上层应用,什么火就学什么。工具只是工具,要了解工具的原理。
4、 学一样技术,先学这个技术是解决什么问题的,有什么优点,什么缺点,适用于什么样的场景,再学如何使用。
5 、如何知道自己适不适合去做一件事(工作,专业),尽最大努力坚持一段时间(比如2年),还是不喜欢,没有进步,那就换
6、看一个人是否有潜力,要看他把业余时间花在哪些事情上
7、持续学习 问君哪得清如许?唯有源头活水来
8、计划 每个月打算看哪本书,学什么内容
举例:
地球的半径是6378千米
A 记住 地球的半径是6378千米
B 地球的半径为什么是6378千米,是如何计算出来的
C 我知道 地球的半径是6378千米,可以做什么,有哪些应用
以上是关于随记2021-1217的主要内容,如果未能解决你的问题,请参考以下文章