
正文
java消耗cpu代码 java写cpu爆满的程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
查看JAVA进程中哪个线程CPU消耗最高
从上图可以看到Java进程 27459 消耗的CPU比较高。
cerl+alt+del后打开任务管理器,打开“进程”选项卡。里面会显示的很清楚。鼠标右键单击桌面下方的任务栏,选择任务管理器。安全软件工具里会有个“任务管理器”,打开后会更直观的显示。
查看哪个进程线程占用cpu过高; top / ps -aux, 获得进程号 确定哪个线程占用cpu过高,进入进程号的目录:/proc/pid/task,执行:grep SleepAVG **/status | sort -k2,2 | head, 确定cpu占用较高的线程号。
线程占用内存高低,可以用jmap做heap dump出来给MomoryAnalysis分析他可以按线程统计,一般也可以用它来找出造成OOM的原因。线程占用CPU,上述内存的问题是一个方面,另外也可以jstack打线程栈来分析。
找出cpu耗用厉害的进程pid, 终端执行top命令,然后按下shift+p (shift+m是找出消耗内存最高)查找出cpu利用最厉害的pid号 根据上面第一步拿到的pid号,top -H -p pid 。
方法1 jps 获取Java进程的PID。jstack pid java.txt 导出CPU占用高进程的线程栈。top -H -p PID 查看对应进程的哪个线程占用CPU过高。
相关问答
Q1: 怎么写一个java程序实现占用电脑内存和占用电脑cpu这两个功能
1、通过jmx可以监控vm内存使用,系统内存使用等,以下是网上某博客代码,特点是通过window和linux命令获得CPU使用率。 利用java程序实现获取计算机cpu利用率和内存使用信息。
2、内存管理器的管理接口。MemoryMXBean Java 虚拟机内存系统的管理接口。MemoryPoolMXBean 内存池的管理接口。OperatingSystemMXBean 用于操作系统的管理接口,Java 虚拟机在此操作系统上运行。
3、java里面有专门获取系统属性的东西,在System里面。比如 data 时间1=当前时间;void{执行的程序};data 时间2 = 当前时间;启动时间等于 时间2 - 时间1,再用dataformat转换格式。其他的几个属性也能这样来做。
Q2: java占用cpu高?
首先查看java进程下的所有线程占CPU的情况,把线程号转成16进制。其次查看某进程GC持续变化情况,点击占据最高的一个。最后点击结束进程即可。
占用。java下载文件会占用cpu,该Java进程占用cpu达到92%,在tomcat中部署Java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻。
方法1 jps 获取Java进程的PID。jstack pid java.txt 导出CPU占用高进程的线程栈。top -H -p PID 查看对应进程的哪个线程占用CPU过高。
从上面三种方式都可以看出PID是 27460的线程占用CPU比较高。
Q3: Java开发如何准确的定位到占用内存或CPU最高的一行代码
要定位到行,代码要debug编译,至少要带上行信息。线程占用内存高低,可以用jmap做heap dump出来给MomoryAnalysis分析他可以按线程统计,一般也可以用它来找出造成OOM的原因。
备注:pidstat命令需要安装sysstat软件包。从上面三种方式都可以看出PID是 27460的线程占用CPU比较高。
方法1 jps 获取Java进程的PID。jstack pid java.txt 导出CPU占用高进程的线程栈。top -H -p PID 查看对应进程的哪个线程占用CPU过高。
你可以先用内存监控工具,进行监控,看看这个功能到底用多少内存。如果不多,其实都不需要实现你说的代码监控的。如果你要使用代码监控,你可是使用Runtime类的几个属性,MaxMemory、FreeMemory、TotalMemory。
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
关于java消耗cpu代码和java写cpu爆满的程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








