1. 首页
  2. 编程语言
  3. Java
  4. 线上Java程序占用CPU过高解决方案

线上Java程序占用CPU过高解决方案

上传者: 2022-04-17 07:51:05上传 PDF文件 313.83 KB 热度 23次

先用一段程序创建几个线程,将其中一个线程设置成高 CPU 使用率的。运行这段程序后,前面 10 个线程都处于休眠状态,只有最后一个线程会持续的占用 CPU 。在真实环境中,首先要确认是不是 Java 程序造成的,如果有系统监控工具,可能会直接在预警信息里告诉你是有哪个进程造成的,但也有可能不知道,需要我们手动排查。使用 top命令发现占用 CPU 99.7% 的线程是 Java 进程,进程 PID 为 13731。那一个进程中有那么多线程,不可能所有线程都一直占着 CPU 不放,这一步要做的就是揪出这个罪魁祸首,当然有可能不止一个。怎么样,现在一目了然了,线程名称、线程状态、以及哪行代码消耗了最多的 CPU 都很清楚了。

下载地址
用户评论