1、检查openjdk是否有更新,如果有,可以尝试更新openjdk版本,以解决可能存在的bug。
2、检查openjdk的配置,如果有过多的配置,可以尝试减少配置,以减少openjdk占用cpu的情况。
3、检查openjdk的运行环境,如果运行环境不合理,可以尝试修改openjdk的运行环境,以提高openjdk的运行效率。
4、检查openjdk的性能,可以尝试优化openjdk的性能,以减少openjdk占用cpu的情况。
总之,openjdk占用cpu高,可以从更新openjdk版本、减少openjdk配置、优化openjdk运行环境和优化openjdk性能等方面入手,以减少openjdk对cpu的占用。
1、首先查看java进程下的所有线程占CPU的情况,把线程号转成16进制。2、其次查看某进程GC持续变化情况,点击占据最高的一个。
3、最后点击结束进程即可。
方法11.jps 获取Java进程的PID。
2.jstack pid >>java.txt 导出CPU占用高进程的线程栈。
3.top -H -p PID 查看对应进程的哪个线程占用CPU过高。
4.echo “obase=16PID” | bc 将线程的PID转换为16进制,大写转换为小写。
5.在第二步导出的Java.txt中查找转换成为16进制的线程PID。找到对应的线程栈。
6.分析负载高的线程栈都是什么业务 *** 作。优化程序并处理问题。
方法2
1.使用top 定位到占用CPU高的进程PID
top
通过ps aux | grep PID命令
2.获取线程信息,并找到占用CPU高的线程
ps -mp pid -o THREAD,tid,time | sort -rn
3.将需要的线程ID转换为16进制格式
printf "%x\n" tid
4.打印线程的堆栈信息
jstack pid |grep tid -A 30
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)