java程序导致cpu利用率100%的解决方法

1)先用top找出哪个线程占着cpu

#top

查看cpu 100% 的进程号,如进程号为16459

#top -H -p 16459

然后再看是哪个pid 比较高   找到cpu为100%的PID

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

16539 root      25   0 1673m 525m  10m R 98.9 13.3   6:36.83 java

16462 root      16   0 1673m 525m  10m S  1.0 13.3   0:04.07 java

16463 root      16   0 1673m 525m  10m S  1.0 13.3   0:04.06 java

从这里看出是  16539

# jstack -F 16539 > /root/cpu_100.txt

查看cpu_100.txt  这一行  Thread 16539: (state = IN_JAVA)  可以看出问题来。

时间: 2025-01-18 13:47:18

java程序导致cpu利用率100%的解决方法的相关文章

Linux排查Java程序占用CPU很高的解决办法

Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意设置了一个CPU占用很高的场景: 排查问题,步骤: 1. ps -mp [替换为进程ID PID] -o THREAD,tid,time 发现线程6322.6323占用CPU很高,时间也很长. 2. printf “%x” [线程ID TID] 把TID转换为16进制. 3. jstack [进程I

IDEA2014开发Java程序以及中文乱码问题的解决

IDEA2014开发Java程序以及中文乱码问题的解决 我们知道IDEA是可以很强大的集成开发环境,不仅可以开发Web工程,还可以开发Java运行程序,但是在进行Java开发之前,我们需要对IDEA做一些配置工作.步骤如下: 下载IDEA2014下载地址,过期私聊我(http://pan.baidu.com/s/1jIfbtdW) 下载JDK64位机(http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-windows-x64

说说Java程序和数据库交互的乱码解决

本文就本人遇到的问题进行讲解 1.通过jdbc直连方式,连接Mysql数据库,从程序向数据库中写入数据出现的乱码解决方案. 当通过程序向Student表中写入一条数据时,写入数据库的内容会产生乱码. 如下图 解决方案: 1.创建数据库的时候: CREATE   DATABASE   `Db`                                CHARACTER   SET   'utf8 '                                COLLATE   'utf8

记录Macbook UserEventAgent占用内存20G、CPU 100%的解决方法

现象:开机或登录,UserEventAgent占用CPU 100%,内存占用每秒疯狂增长,达到过20G被Force Quit 可重现:100%重现 解决方法:Repair Disk Permissions 以下是相同案例,但通过禁止某些系统启动项 来解决的 https://discussions.apple.com/message/26003314#message26003314 http://forums.macrumors.com/threads/usereventagent-using-1

Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法

使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 1 ActionContext context = ActionContext.getContext(); 2 ServletContext servletContext = (ServletContext) context.get(ServletActionContext.SERVLET_CONTEXT); //抛空指针异常

java开发中遇到的问题及解决方法(持续更新)

摘自 http://blog.csdn.net/pony12/article/details/38456261 java开发中遇到的问题及解决方法(持续更新) 工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不想动用Eclipse大家伙,只能自己动手编写脚本进行Java代码的编译和运行,期间遇到的一些问题,记录下来供自己和大家参考.1)软件包不存在/软件包 javax.jms 不存在    这是由于javac编译时找不到javax.jms所在的软件包,因此将

访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法

访问tomcat出现java.lang.IllegalStateException: No output folder错误解决方法 问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误,错误提示如下: localhost:8080 java.lang.IllegalStateException: No output folder 原因如下:tomcat目录没有被读写的权限,导致文件不能被编译到指定的工作目

农行K宝不能使用 农行K宝导致光驱无法识别的解决方法

农行的K宝又不能用了 - 农行的K宝和IE8像是有仇似的 也不知道是驱动的原因还是IE的原因 反正经常性的无法识别这次的问题是:选择证书之后 提示无法连接 着手解决:先去农行网站 下载最新版的驱动 发现和我装的是一个版本 看来不是驱动的问题运行services.msc 查看Certificate Propagation服务和GP_CLT服务 也是启动状态 也不是服务的问题运行农行的客户端检测程序 告诉我"当前设置不影响网银使用" - -!这是怎么了--没办法了 进入PE 还原我前几天做

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_54bf02090100xlqy.html   现象:VMware Workstation 8.0在安装VMware Tools时弹出对话框,提示"安装程序无法继续.Microsoft Runtime DLL安装程序未能完成安装."如图: 原因:虚拟机中Windows Installer服务