`

java应用CPU占用率过高问题的分析

 
阅读更多

转自:https://www.cnblogs.com/coderland/p/5902649.html

可通过以下三种方式查看

1 top中按SHIFT+H查找哪个线程占用高 2 top -H -p PID命令查看哪个线程占用高 3 ps -mp PID -o THREAD,tid,time

将线程id转换为16进制

printf "%X\n" thread_id

导出进程的所有线程信息

使用jstack PID可以导出进行下的所有线程信息,并用上步获得的16进制线程ID去查找问题线程的状态信息。

也可以采用如下方式查找问题线程信息:

jstack PID | grep 线程的16进制ID
或者是jstack PID > /XXX/XXX.log将日志信息重定向到/XXX/XXX.log文件中,慢慢分析
分享到:
评论

相关推荐

    测量Java应用程序的CPU和内存占用率

    测量CPU和内存的占用率常常是检查Java应用程序是否达到特定性能的一个重要环节。一个主要的解决方案是使用操作系统自带的本机系统调用,将数据通过JNI(Java Native Interface,Java本机接口)传输给Java。与调用...

    Java进程CPU使用率高排查

    近期java应用,CPU使用率一直很高,经常达到,通过以下步骤完美解决,分享一下。  1.jps 获取Java进程的PID。  2.jstack pid >> java.txt 导出CPU占用高进程的线程栈。  3.top -H -p PID 查看对应进程的哪个...

    java 通过jni查看windows的CPU利用率的问题

    博文链接:https://huangpengxiao.iteye.com/blog/96670

    Android代码-查看手机应用的CPU和内存资源的使用情况

    Due to undocumented changes made by Google, on Android 7.0 CPU usage information for processes others than the own AnotherMonitor one will not be available (not even with root access). Rest of the app...

    Apache FtpServer 1.0.6

    设置一个大范围的passive端口,将花费1分钟和100%的CPU占用率; Possible null pointer dereference of passivePorts in PassivePorts::; OPTS MLST不能正确处理字符的大小写; 在distribution/res/ftp-db.sql文件...

    TurboVNC-2.2.4.dmg turbovnc-viewer: 2.2.4

    但是,TurboVNC还消除了TightVNC 1.3.x用来确定子矩形是否是JPEG压缩的良好候选者的CPU占用率过高的检测例程,并且TurboVNC的编码方法倾向于更多地使用JPEG,因为现在通常使用JPEG。最快的子编码类型。此外,...

    计算机应用基础第一章测试题含答案.doc

    C、系统软件和应用软件 D、DOS程序和应用程序 6、计算机的硬件系统由五大部件组成,这五大部件是( ) A、主机、显示器、键盘 B、CPU、主板、内存 C、运算器、控制器、存储器、输入设备和输出设备 D、以上说法都不...

    多线程操作实例源码

    浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。  多线程的好处在于可以提高CPU的利用率——任何一个程序员都不希望...

    Windows是一个多任务的系统

    浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。  多线程的好处在于可以提高CPU的利用率——任何一个程序员都不希望...

    多线程操作实例源码,,

    浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。  多线程的好处在于可以提高CPU的利用率——任何一个程序员都不希望...

    jstack生成的Thread Dump日志.docx

    观察CPU的利用率,看系统态的CPU时间是否明显大于用户态的CPU时间。这些都指向由于网络带宽所限导致的网络瓶颈。 (3)还有一种常见的情况是该线程在 sleep,等待 sleep 的时间到了,将被唤醒。 waiting for ...

    测试培训教材

    6、测试用例设计、用例管理、测试覆盖率分析 设计测试步骤 为Cruises Reservation主题中的Cruise Booking测试用例添加测试步骤 新建测试步骤 拷贝测试步骤 把“Cruise Booking”的测试步骤...

    jsp探针 ver0.1

    int CPUTIME = 30; int PERCENT = 100; public LfSpy() { try { Class.forName("org.springframework.context.ApplicationContext"); supportSpring = true; } catch (ClassNotFoundException ex) { } try { ...

    Toad 使用快速入门

    支持历史SQL(F8) :可以方便的查询以前执行过的SQL,不用反复重新输入。  可以执行匿名块,存储过程,从下方的窗口看到DBMS_OUTPUT的结果,如: 3. Stored Procedure Editor a) 打开存储过程编写器的几个...

    华为编程开发规范与案例

    问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1个季度内错误总数 DA -1个季度内A类错误总数 DB -1个季度内B类错误总数 DC -1个季度内C类错误总数 S -1个季度内收到...

Global site tag (gtag.js) - Google Analytics