java CPU 或者内存 异常排查
提示:需要基础环境和配置上java-home
CPU 或者内存 异常排查
- java CPU 或者内存 异常排查
- 前言
- 一、java文件上传(Test.java)
- 二、转换为class
- 三、执行命令,启动文件
- 四、使用top命令查看
- 五、下载文件,查询关键字
- 查询关键内容
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
需要配置有java-home,或者进入对应命令目录进行执行。需要的命令有 top , javac , java , jstack , cat 等
提示:以下是本篇文章正文内容,下面案例可供参考
一、java文件上传(Test.java)
public class Test {
public static void main(String[] args) {
while (true) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println(true);
}
}
}
二、转换为class
javac Test.java
三、执行命令,启动文件
代码如下(示例):
java Test
四、使用top命令查看
top
当前的 PID 为 19226
然后通过 19226 进一步执行命令,获取线程数据
top -Hp 19226
这里看到对应消耗较多的是 19227
使用 19227 十进制,转换为16进制为 4B1B
五、下载文件,查询关键字
将19226当前内容,进行下载到本地,名称为 19226.stack
jstack -l 19226 > ./19226.stack
查询关键内容
忽略大小写方式,查询对应运行位置
cat 19226.stack | grep -i '4B1B' -C 8
总结
以这样的方式,找到了对应当前,服务运行的位置。