资讯专栏INFORMATION COLUMN

java导致linux负载过高的定位方法

Prasanta / 2272人阅读

摘要:将和转换为进制。对应栈信息中的进制,根据上面转换的进制到中进行查找。同时也可以使用查看堆的情况

定位java进程ID
可以使用top或ps -ef |grep java
![图片描述][1]
根据进程ID找到最消耗资源的java pid
比如第一步找到的进程ID为5431
执行
top -p 5431 -H
![图片描述][2]
打印java栈信息
$ jstack -l 5431 > 5431.log
在栈信息中定位具体问题
将消耗资源的Java PID转换为16进制,在打印的栈信息中进行查找,并定位具体问题。
将18966和23262转换为16进制。
java pid 对应栈信息中的nid(16进制),根据上面转换的16进制到5431.log中进行查找。

同时也可以使用jmap查看堆的情况:
jmap -heap 5431 > 5431_heap.log
jmap -histo 5431 > 5431_histo.log

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9048.html

相关文章

  • java导致linux负载高的定位方法

    摘要:将和转换为进制。对应栈信息中的进制,根据上面转换的进制到中进行查找。同时也可以使用查看堆的情况 定位java进程ID 可以使用top或ps -ef |grep java ![图片描述][1] 根据进程ID找到最消耗资源的java pid 比如第一步找到的进程ID为5431 执行 top -p 5431 -H ![图片描述][2] 打印java栈信息 $ jstack -l...

    leeon 评论0 收藏0
  • java导致linux负载高的定位方法

    摘要:将和转换为进制。对应栈信息中的进制,根据上面转换的进制到中进行查找。同时也可以使用查看堆的情况 定位java进程ID 可以使用top或ps -ef |grep java ![图片描述][1] 根据进程ID找到最消耗资源的java pid 比如第一步找到的进程ID为5431 执行 top -p 5431 -H ![图片描述][2] 打印java栈信息 $ jstack -l...

    Sourcelink 评论0 收藏0
  • 【VisualVM 简明教程】(4): 分析CPU

    摘要:快照,带线程命令,是显示全部进程,是显示线程,全格式输出显示进程树,不加显示所有实时快照推荐程度按数字从小到大。 有时候好好的程序放到生产服务器上一段时间后,就会发现服务器响应缓慢,进而进一步发现是cpu过高,于是就慌了,造成cpu过高的原因很多,不过大多是由于资源吃紧造成,例如:sql执行过慢,程序里存在死循环,数据库连接未释放,网络阻塞导致的第三方框架代码出现死循环,大量的操作导致...

    ormsf 评论0 收藏0
  • 云服务器无法远程连接?4步排查,准能解决!

    摘要:今天百晓生就阿里云服务器无法远程连接的问题,分享一波运维必备的问题排查方法,说明以下操作在位操作系统中进行过测试。确认公网带宽是否不足无法远程连接可能是公网带宽不足导致的,具体排查方法如下登录管理控制台。在运维工程师的日常工作中,经常需要登录到服务器上对应用部署和维护,配置修改是很常规操作。但是在日常运维工作中,经常也会遭遇滑铁卢,当出现无法远程连接服务器的时候,我们需要沉着冷静,耐心分析报...

    Tecode 评论0 收藏0
  • Java Trouble Shooting - 使用线程栈

    摘要:线程的优先级代表线程的优先级为线程代表线程为,而代表该线程对应的操作系统级别的线程。若是有运行图形界面的环境,也可以使用一些图形化的工具,例如来生成线程栈文件。使用线程栈定位问题发现死锁当两个或多个线程正在等待被对方占有的锁,死锁就会发生。 什么是线程栈(thread dump) 线程栈是某个时间点,JVM所有线程的活动状态的一个汇总;通过线程栈,可以查看某个时间点,各个线程正在做什么...

    DataPipeline 评论0 收藏0

发表评论

0条评论

Prasanta

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<