栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【jstack、jps命令使用】排查死锁

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【jstack、jps命令使用】排查死锁

“jps -v” 命令:可以显示传递给 Java 虚拟机的参数(java启动参数、内存分配大小等信息)。

打印java服务进程ID
 "jps" 命令:查看所有java服务进程ID  
 打印:    
   3200 ApplicationTest    
   2968 Launcher
打印堆信息
"jmap -heap 进程ID"命令:打印堆信息

 使用案例说明:排查内存溢出、泄漏;排查是否存在内存溢出:第一次打印堆空间的占用大小used、然后执行GC回收后,再次执行"jmap -heap 进程ID"命令查看堆空间的used是否被清空
 打印:
    Eden Space:                // Eden区
    capacity = 34078720 (32.5MB)                   // 总空间大小
    used     = 16630280 (15.859870910644531MB)     // 已使用空间
    free     = 17448440 (16.64012908935547MB)      // 剩余空间
    48.79960280198317% used
    From Space:                // From区
    capacity = 5242880 (5.0MB)
    used     = 0 (0.0MB)
    free     = 5242880 (5.0MB)
    0.0% used
    To Space:                  // To区
    capacity = 5242880 (5.0MB)
    used     = 0 (0.0MB)
    free     = 5242880 (5.0MB)
    0.0% used
    PS Old Generation          // 老年代
    capacity = 89653248 (85.5MB)
    used     = 0 (0.0MB)
    free     = 89653248 (85.5MB)
    0.0% used
输出java进程的线程快照-排查死锁
"jstack 进程ID > thread.txt" 命令:输出该进程的线程快照到thread.txt文件中。
该命令用于排查死锁问题,首先需要通过“top”命令查找CPU占用高的进程“PID”,
然后通过“ps -mp 进程PID -o THREAD,tid,time”命令定位到占用CPU占用率高的线程“TID”,
然后将10进制的TID转为16进制,用于在thread.txt文件中找到占用较高的线程所在位置
(在thread.txt文件中全局搜索转为16进制的TID即可定位到具体位置)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号