JVM
文章平均质量分 63
草丛里的码农
我是一个追求思想自由、技术自由的蹲在草丛里的码农!
展开
-
jfr引起的一次jvm异常记录
一次线上jvm异常问题记录原创 2023-02-18 18:08:31 · 962 阅读 · 0 评论 -
jmx prometheus引起的一次cpu飙高
记录一次cpu飙高原创 2023-02-18 17:26:06 · 1267 阅读 · 0 评论 -
volatile原理-指令重排序
内容参考自《深入理解java虚拟机》1 保证可见性。volatile修饰的变量每次使用时,都会刷新工作内存,从主内存取出最新值2 禁止指令重排序指令重排序为了使cpu多核处理器高效利用,会对输入的代码进行乱序执行。比如a=1,b=1,处理器执行时可能是b=1,a=1。处理完成后,cpu会对执行结果进行重组,保证和顺序执行一样。在多线程时就是不安全的了从硬件上来说指令重排序是指cp...原创 2020-03-09 23:20:45 · 1241 阅读 · 0 评论 -
JVM常用命令- 深入JVM虚拟机
内存-XX:MaxPermSize 设置永久代最大空间-XX:PermSize 设置永久代大小-Xms 设置堆最小值-Xmx 设置堆最大值-Xmn 设置新生代大小-XX:NewSize 设置新生代大小-XX:MaxDirectMemorySize 设置直接内存大小,默认是和xmx一样-Xss 设置栈容量-Xoss 设置本地方法栈大小,实际上无效-XX:+/-UseTLAB 设置...原创 2020-01-28 17:33:37 · 177 阅读 · 0 评论 -
JVM调优经验总结
jps -l 查询出运行的jvm进程列表,可以查看pid线程堆栈排查jstack pid > jstack.log 将堆栈打印入文件中查看1 查看有没有waiting for monitor entry,State:BLOCKED 阻塞的线程,看看什么原因导致。比如如果sql死锁也会导致线程一直阻塞2 正常的线程池/logback等框架线程的空闲线程状态是WAITING/TIME...原创 2020-01-26 17:39:30 · 200 阅读 · 0 评论