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

热点内容
什么app能看香港房 浏览:590
丧尸电视剧哪个app看 浏览:196
电脑版上传视频找不到文件在哪 浏览:164
javastringtemplate 浏览:594
联想启天m7300能升级内存吗 浏览:698
精雕怎么打开图片文件 浏览:161
ug编程镗孔g76如何使用 浏览:719
7岁到18岁少儿编程学什么 浏览:413
mac文件怎么打印 浏览:756
农药登记许可证查询哪个网站 浏览:857
素材站用什么网站系统 浏览:173
ug如何用铰刀编程 浏览:647
三国志版本介绍 浏览:260
情侣用的定位app有哪些 浏览:244
怎么清楚苹果手机的健身数据 浏览:988
淘宝美工教程自学网 浏览:452
父子2006未删减版本 浏览:872
包头谁卖苹果6 浏览:504
化工企业停工有哪些文件通知要求 浏览:878
下载软件后文件夹在桌面 浏览:397

友情链接