导航:首页 > 编程语言 > javacpu占用高

javacpu占用高

发布时间:2023-08-28 14:26:23

1. java如何定位占用CPU比较高的问题

一、确定消耗CPU的Java进程

备注:

1、jstack 输出的堆栈信息,线程id对应的16进制为小写,查找时要统一按照小写方式查找

2、jstack输出为当前瞬间的堆栈信息,如果遇到间断性出现CPU高的问题时,需要多输出几次

从上面方式定位到代码Test.main(Test.java:4)处导致了CPU偏高的问题,那我们查看下代码具体如何实现的?

代码实现:

public class Test {
public static void main(String[] args) {
while(true) {

}
}
}

从代码层面看该处实现了一个死循环,所以导致了线程占用CPU偏高的问题。

2. 哪些原因会造成java.exe占用大量cpu资源

额,我知道的只有死循环,当一条线程在一个循环内,如果不间断的跑这个循环,很容易就高内存

3. Java中CPU占用过高问题如何解决

方法1
1.jps 获取Java进程的PID。

2.jstack pid >> java.txt 导出CPU占用高进程的线程栈。

3.top -H -p PID 查看对内应进程的哪个线程占用CPU过高。

4.echo “obase=16; PID” | 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

阅读全文

与javacpu占用高相关的资料

热点内容
冒险岛老物品代码 浏览:834
南航app如何绑定护照 浏览:140
公众号小程序怎么制作 浏览:24
同城买菜什么网站 浏览:211
鸿蒙系统如何显示大文件 浏览:484
文件解压后可以删掉哪些 浏览:357
怎么清除c盘垃圾文件 浏览:720
js都要掌握哪些内容 浏览:906
四角号码字典有哪几个版本 浏览:869
数据库入侵dede 浏览:700
日本用什么app听歌 浏览:562
cmd新建空文件 浏览:481
广联达app在哪里找 浏览:125
javaudp网络编程 浏览:263
如何快速统计文件大小 浏览:395
dnf90版本奶爸寂静9加点 浏览:506
5s升级ios811好吗 浏览:773
苹果6s手机忘记解锁密码怎么办 浏览:223
哪里的数控编程培训学校好 浏览:495
小程序怎么登陆 浏览:957

友情链接