一、找到java进程id

jps查看当前运行的java进程id

[root@localhost ~]# jps
18354 Jps
9381 Bootstrap

二、找到内存和CPU占用最高的线程pid

1,使用命令top -p ,显示你的java进程的内存情况,pid是你的java进程号,比如123

2,按H,获取每个线程的内存情况

3,找到内存和cpu占用最高的线程pid,比如15248

4,执行 printf 0x%x 15248 得到 0x3b90 ,此为线程id的十六进制

# 查看java进程
top -p 9381
# 按H显示每个线程的内存
# 按M根据驻留内存大小进行排序
# 按P根据CPU使用百分比大小进行排序 # 打印线程ID的十六进制表示
printf 0x%x 9382
0x24a6

按H显示每个线程的内存

三、查看堆栈信息

5,执行 jstack 123|grep -A 10 3b90,得到线程堆栈信息中3b90这个线程所在行的后面10行

jstack 9381 | grep -A 10 24a6

6,查看对应的堆栈信息找出可能存在问题的代码

最新文章

  1. MSSQL部分补丁的列表及下载地址(持续更新)
  2. Struts2第一个入门案例
  3. 集群间Session共享问题解决方案
  4. vmstat uptime 系统状态脚本
  5. /etc/hosts.conf
  6. js去掉空格
  7. messagepcak 资料
  8. SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端
  9. Android PullToRefresh下拉刷新控件的简单使用
  10. 【转链接】Handlebars模板引擎以及浅谈模板引擎的实现原理
  11. nginx反向代理取得IP地址
  12. 浅谈移动Web开发(上):深入概念
  13. C#与SQl数据的对应关系(tinyint、smallint、int、bigint)
  14. Asp.Net SignalR Hub集线器
  15. BUG描述规范管理
  16. 机器学习面试--一句话概括传统ML算法
  17. java获取视频缩略图
  18. Flask web开发之路六
  19. 浏览器兼容java小程序配置说明
  20. mybatis foreach 循环 list(map)

热门文章

  1. poj_1852_Ants(复杂问题简单化)
  2. 一次关于关系抽取(RE)综述调研的交流心得
  3. Jenkins 脚本命令行应用总结
  4. SpringMVC获取请求参数-基本类型
  5. LC-数组-二分查找-704
  6. Visual Studio 安装 MFC
  7. linux原生命令行看上面的内容
  8. For-Each循环(增强型For循环)
  9. vue 跨域配置代理 get/post 请求
  10. 【Azure API 管理】解决API Management添加AAD Group时遇见的 Failed to query Azure Active Directory graph due to error 错误