java cpu 占用高达100%-700%

lilinew 2011-08-18 10:17:27
linux java tomcat mysql 在线应用
4cpu.
连接有200左右. top 发现
java 经常cpu 占用高达100%-700%(4 cpu )
mysql 有时候cpu 占用高达99%. 2者内存占用正常都不到80%
16g内存物理内存使用率为15/16 , swap 空间没有使用.
这里直觉是java的问题 , 内存正常不大像内存泄露.
如何能进一步分析java或mysql cpu 占用高的原因 (使用什么工具能看java运行thread)?

...全文
186 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
用jdk自带的VisualVM看看哪里出现了cpu或者内存占用非常高的情况,很好用。在jdk的bin下面。
回复
lilinew 2011-08-19
内存泄露----估计不是 swap空间没有利用.说明neckbottle在cpu
因为是4pu 8cpu所以cpu 占用高达100%-700 用vmstat可以清晰看到

原因是java io 造成.感谢jprofile看看哪个方法占CPU高.---

如果能看到具体网络请求request 到tomcat服务器的数量 (linux 用什么命令)
或者用某个图形工具能直接看到所有跑的java thread就好了
回复
sxdgundam 2011-08-19
2L的建议不错
回复
勤奋的沉沦 2011-08-19
装个jrmc jdk,然后装个监控端。就可以监控jdk运行状态了。类似jprofile。
另外合理的添加日志也会有所帮助。
回复
内存泄露或者是线程无限的执行
回复
商科程序员 2011-08-18
JAVA占用有些高.
是不是时常垃圾回收闹的?
可以用jprofile看看哪个方法占CPU高.
回复
相关推荐
发帖
高性能WEB开发
创建于2008-07-01

2.5w+

社区成员

高性能WEB开发
申请成为版主
帖子事件
创建了帖子
2011-08-18 10:17
社区公告
暂无公告