就描述,都不吃。编程对电脑配置没要求的。如果指的是程序运行,那看森州首此数你有没有做多核优化,没有的话,运行迹雀只用一个核心。
就问题本质而言,都不吃。
答:是的,java微服务是吃cpu,一、CPU的基本单位是线程,我们编写的程序通过进程或者线程请求CPU进行处理,首先CPU会分配处理的时间片,处理的时候将 *** 作数旁圆薯传递给CPU,最后处理的.
java吃运者处理器吗 - java - 吃cpu问题安全排查 - weixin
刚开始上线java程序占用的CPU的资源很少,但是到了整点的时候,CPU直线飙高,直接到达100%根本没有要下降的趋势,唯一的腔唯方法只能
方法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条)