C/C++教程

项目CPU占用过高分析

本文主要是介绍项目CPU占用过高分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

排查步骤如下:

  1. 执行 top 命令,在linux系统上显示系统各个进程的资源占用状态,找到占用率很高的进程ID 1024

  2. 执行 top -p 1024 -H 命令,查看当前进程下的所有线程信息,找到占用率很高的线程ID 2048,将ID转换成16进制得到800

  3. 执行 jdstack 1024> thread_stack.log 将进程的堆栈信息写入到文件中

  4. 在thread_stack.log根据找到800对应的堆栈信息,根据堆栈信息定位到代码位置

  5. 如果线程为GC线程,使用 jmap -histo> jmap.log 输出java堆中对象的统计信息,可能不停创建大对象,导致频繁GC导致CPU占用很高。

 

 

 

参考:

1. https://blog.csdn.net/xinqing5130/article/details/115330920

2. https://blog.csdn.net/qq_34944965/article/details/81107419?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1619598633876_23403&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

3. https://www.cnblogs.com/youxin/p/11229071.html

这篇关于项目CPU占用过高分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!