导航:首页 > 编程语言 > 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占用高相关的资料

热点内容
我不会英语怎么编程 浏览:895
c盘和文件大小 浏览:63
maya工具架怎么调出来 浏览:191
文件系统坏了怎么办 浏览:261
小公司网络布线 浏览:515
怎么用二维码编程 浏览:341
f9b文件能用手机看吗 浏览:364
手机暴风视频文件夹 浏览:394
vsftpdlinux下载文件 浏览:948
文件名修改后快捷方式还可以用吗 浏览:387
亲密爱人qq相册名字 浏览:884
怎么修改手机原始密码 浏览:230
榆次网站优化怎么样 浏览:537
vb窗体文件如何打开 浏览:810
百度找图怎么跳转网站 浏览:284
安卓44如何隐藏文件夹 浏览:92
sr100怎么编程序 浏览:795
苹果手机怎样保存信息 浏览:379
安卓patch是什么文件 浏览:819
2003word审阅 浏览:387

友情链接