-
线上CPU100%问题定位
- 先top,再按H,获取每个进程的内存情况,可以看到占用CPU最高的PID
- top -p PID,显示你的java进程的CPU情况,PID是你的进程号,比如19663
![](https://img2020.cnblogs.com/blog/1541798/202108/1541798-20210803115315854-1520356156.png)
- 按H,可以获取到每个线程占用CPU的使用情况
![](https://img2020.cnblogs.com/blog/1541798/202108/1541798-20210803115825551-1368547348.png)
- 找到占用CPU使用率最高的线程tid,比如19664
- 将19664转为十六进制,得到0x4cd0
- 执行jstack 19663 | grep -A 0x4cd0,得到线程堆栈信息中0x4cd0这个线程所在行的后面10行,可以看到CPU飙高的方法
![](https://img2020.cnblogs.com/blog/1541798/202108/1541798-20210803115904925-901163079.png)
-
相关阅读:
Java基础知识(四)使用多线程插入数据
Java基础知识(三)重写equals和hashCode
Java基础知识(二)基本数据类型转换
Java基础知识(一)基本数据类型默认值
C# DES加密,KEY和IV不同设置的写法
[异常记录(三)] 从 bcp 客户端收到一个对 colid 12 无效的列长度
ADO.NET 使用DELETE语句批量删除操作,提示超时,删除失败,几种优化解决思路
[异常记录(二)] 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
[解决]JS失效,提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法
-
原文地址:https://www.cnblogs.com/shuxiaosheng/p/15094099.html
Copyright © 2020-2023
润新知