当前位置:首页 > 开发 > 开源软件 > 正文

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

发表于: 2015-07-15   作者:ronin47   来源:转载   浏览:
摘要: 定位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转

定位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进制,在打印的栈信息中进行查找,并定位具体问题。
将1896623262转换为16进制。
java pid 对应栈信息中的nid(16进制),根据上面转换的16进制到5431.log中进行查找。

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

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
问题描述: cpu负载陡增,内存占用情况稳定。(在多cpu的情况下,比如4核,free 看到cpuload 15%,
问题描述: cpu负载陡增,内存占用情况稳定。(在多cpu的情况下,比如4核,free 看到cpuload 15%,
现象 1.top 2.jconsole:以jconsole -pluginpath $JAVA_HOME/demo/management/JTop/JTop.jar启动 CP
现象: 突然系统报警负载过高 下面的处理步骤: 1、找到占用cpu高的进程 select tc.sql_text,tb.mac
教你如何处理隐式转换导致的负载过高的问题 现象: 突然系统报警负载过高 下面的处理步骤: 1、找到
问题概述 1.1 问题概述 项目上线一段时间后,最近几天 在访问量不是很大的情况下 CPU持续上涨 只能
最近公司内部的系统在发布的过程中时长出现第一台服务器正常启动,再启动第二太服务器时启动程序卡
一、简述 Windows操作系统在遇到内核级别的错误或异常的时候,会通过蓝屏的方式终止计算机的运行,
转自:http://dbaplus.cn/news-21-130-1.html 1. 应用程序占用资源高问题 目前大部分应用程序采用的
前言: 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的util),但是无法
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号