java cpu高达100%问题 排查
来源:互联网 发布:装饰公司网络推广方案 编辑:程序博客网 时间:2024/05/01 22:24
一次系统测试时执行top命令发现cpu竟接近100%!
找到进程id 31260,执行jstack 31260 > cpu31260.log,将堆栈信息dump到log文件中。
通过top -p 31260 -H命令找到占用cpu最多的线程,为31328
打开cpu31260log文件,查找到线程31328的相关信息:
发现是程序代码问题,即该类第37行,原来是一不小心把循环里面的阻塞方法写错了。
while (true) {
Task task = taskQueue.poll();
if (task != null) {
……..
}
…….
}
taskQueue是LinkedBlockingQueue类,程序的本意是在阻塞队列为空时阻塞等待,但poll()方法在获取不到元素时会直接返回null,所以poll()方法应该改成take(),这样就不会有毫无意义的死循环发生。
这里再补充一个小知识点,有时在mvn clean install 的时候经常卡在下载metadata文件,检查更新的地方,导致打包速度变慢。
这和maven仓库的访问速度有关,如果不想频繁检验,可对仓库作一些设置:
<repository>
<id>centralmaven</id>
<url>http://central.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
关键是updatePolicy节点,这是maven的更新策略,有多个选项:always表示总是,never表示从不,daily(默认)表示每天,interval:X 表示X分钟。
国内oschina的maven镜像站已经关闭了,知道有个阿里的镜像,速度还可以,但感觉其中的库没有官方的全面:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
不知道国内还有没有其他不错的镜像站,知道的朋友可以留言推荐下。
- java cpu高达100%问题 排查
- java cpu 过高问题排查
- java进程CPU过高问题如何排查?
- CPU上涨100%的问题排查
- 记录一次cpu 100%线上问题排查
- CPU高问题排查
- CPU高问题排查
- java cpu过高排查
- 生产环境java应用 CPU使用率过高问题排查
- (一)JAVA CPU占用过高问题排查(linux)
- Java服务CPU飙到99%问题排查
- java进程CPU占用高的问题排查
- 用于快速排查Java的CPU性能问题
- 线上java程序CPU占用过高问题排查
- 记一次java程序CPU占用过高问题排查
- vmnat.exe CPU占用率高达100% 解决方法
- 进程cpu过高问题排查
- CPU高利用率问题排查
- ORACLE 数据库,将日期更新为当前日期,时分秒不变
- Hbase 批量删除
- Unreal Engine 4 字符串转换
- Eclipse插件svn和TortoiseSvn版本对应关系
- brocade 300交换机密码忘记重置
- java cpu高达100%问题 排查
- hdu1053 哈弗曼编码
- nginx访问第三方服务之subrequest使用
- 在windows中安装matplotlib
- Java初学笔记
- Objective-C之Foundation框架
- Unreal engine 4 C++ 一些调试用的绘制函数
- Matlab函数句柄调用图像K均值分类
- 关于数据表的一些SQL语句