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

热点内容
任命文件人字多少号 浏览:27
如何给桌面的文件自动填写序号 浏览:349
压缩文件JPG重命名 浏览:487
vivox7怎么隐藏文件 浏览:340
官网买苹果好处 浏览:153
直播app源码如何搭建 浏览:31
c盘系统文件包介绍图片 浏览:856
linuxopt主要存哪些文件 浏览:924
jsdate天数 浏览:930
qq空间怎样发视频文件在哪里找 浏览:208
nrf2401收发程序 浏览:498
哪个网站看新闻最好 浏览:944
找到文件夹并清除linux 浏览:82
苹果app不安全怎么办 浏览:1000
电脑桌面文件收集软件推荐 浏览:317
桌面的文件夹不能删除不了怎么办 浏览:724
什么是手机温控文件 浏览:840
广东农信app怎么更改预留手机号码 浏览:241
cdm打开隐藏文件夹 浏览:320
贝壳app房子为什么偶尔不显示 浏览:4

友情链接