社区
Java
帖子详情
【重金感谢!】JAVA模块CPU过高,郁闷的是一直无法收集堆栈,求助!!!
lixinxingjava
2012-06-06 10:58:43
系统为SUSE10,有8个CPU,其中一个JAVA模块CPU过高,导致其中一个CPU的内存占用总是接近100%,现在要分析此模块CPU为什么这么高,但是一直没法收集堆栈,
正常的 kill -3 pid,以及jstack,pstack,jmap,等都试了,都没有用,gstack有屏幕输出,但此堆栈太简洁,没法分析,最好能是kill -3 的输出。
有没有哪位兄弟姐妹碰到此类问题?堆栈都收集不到,没法定位问题啊!
谢谢!
...全文
328
27
打赏
收藏
【重金感谢!】JAVA模块CPU过高,郁闷的是一直无法收集堆栈,求助!!!
系统为SUSE10,有8个CPU,其中一个JAVA模块CPU过高,导致其中一个CPU的内存占用总是接近100%,现在要分析此模块CPU为什么这么高,但是一直没法收集堆栈, 正常的 kill -3 pid,以及jstack,pstack,jmap,等都试了,都没有用,gstack有屏幕输出,但此堆栈太简洁,没法分析,最好能是kill -3 的输出。 有没有哪位兄弟姐妹碰到此类问题?堆栈都收集不到,没法定位问题啊! 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lixinxingjava
2012-06-07
打赏
举报
回复
[Quote=引用 24 楼 banquet 的回复:]
LZ 为什么不去分析一下SOURCE
[/Quote]
有什么建议吗?现在没有堆栈没法分析源码啊,是一个模块的问题,源码太多,得先看到堆栈把范围缩小才行。。
谢谢!
古布
2012-06-07
打赏
举报
回复
LZ 为什么不去分析一下SOURCE
lixinxingjava
2012-06-07
打赏
举报
回复
绝望的顶起!!!!
lixinxingjava
2012-06-06
打赏
举报
回复
没人吗?自己顶一个!!
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 21 楼 的回复:]
jstack 怎么可能搜集不到呢?
[/Quote]
谢谢.
jstack 命令不能识别,用gstack pid 有屏幕输出,但是都是一些线程的简单状态,看不到代码层次的堆栈信息
,如果能像KILL -3 那样产生堆栈就好了!
火龙果被占用了
2012-06-06
打赏
举报
回复
jstack 怎么可能搜集不到呢?
lixinxingjava
2012-06-06
打赏
举报
回复
不能沉啊!再顶!!!
lixinxingjava
2012-06-06
打赏
举报
回复
急啊!!自己再顶!!
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
不能装个jdk 5/6? 起码,你们可以搭一个jdk6的测试环境吧.
[/Quote]
是这样的,现在在维护一个比较老的系统,用的是1.4的,还在国外跑着,在家里有相同的环境,家里KILL -3 是可以收集的,但是现场就是不行。。
想喝咖啡的貓
2012-06-06
打赏
举报
回复
不能装个jdk 5/6? 起码,你们可以搭一个jdk6的测试环境吧.
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 15 楼 的回复:]
引用 14 楼 的回复:
不好意思,说错了!
应该是:其中一个CPU的占用总是接近100%,暂时和内存没关系。
谢谢!
o~这样啊,我们以前也出过这个问题,后来发现是一个线程很忙(它在不停的连多台机器),你们的情况应该也类似,就是某一个线程非常忙.
[/Quote]
是啊,CPU过高的原因大概就是那几种,但是现在的问题是
JDK1.4根本收集不到堆栈啊
!
继续顶!
想喝咖啡的貓
2012-06-06
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
不好意思,说错了!
应该是:其中一个CPU的占用总是接近100%,暂时和内存没关系。
谢谢!
[/Quote]
o~这样啊,我们以前也出过这个问题,后来发现是一个线程很忙(它在不停的连多台机器),你们的情况应该也类似,就是某一个线程非常忙.
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
其中一个CPU的内存占用总是接近100%
这句是什么意思? CPU和内存有什么关系?
[/Quote]
不好意思,说错了!
应该是:
其中一个CPU的占用总是接近100%,暂时和内存没关系。
谢谢!
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
引用 8 楼 的回复:
刚用这两个命令都试过了,都是Command not found 啊。。
Sun的JDK1.6才有(注意不是JRE),在bin目录下。
[/Quote]
java version 是1.4.2_08,太老了。。
想喝咖啡的貓
2012-06-06
打赏
举报
回复
其中一个CPU的内存占用总是接近100%
这句是什么意思? CPU和内存有什么关系?
MiceRice
2012-06-06
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
刚用这两个命令都试过了,都是Command not found 啊。。
[/Quote]
Sun的JDK1.6才有(注意不是JRE),在bin目录下。
lixinxingjava
2012-06-06
打赏
举报
回复
再顶下!
有没有其它收集JAVA堆栈的命令?OS:SUSE10
谢谢!
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 5 楼 的回复:
不一定是堆栈占用内存大导致CPU 100%。
个人觉得cpu占用100%大部分原因不是JVM内存溢出了,还是程序的问题,有可能在哪个地方死锁了,或循环没有正常结束。
咦?看错了,原来你说的是内存占用100,不是cpu哦?
那还得监测下JVM的内存使用情况,看哪些对象没有被GC及时回收,而且占用内存很大的。
工具不好用,写程序吧,看下java.lang.mana……
[/Quote]
恩,是JAVA模块CPU过高,个人也觉得是有可能在哪个地方死锁了,或循环没有正常结束。
但现在的问题是没法收集到堆栈..
lixinxingjava
2012-06-06
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
jconsole 或者jvisualvm试试
内存占用总是接近100%,肯定是代码的问题,重点分析一下循环中new 对象或者拼接String的地方。
[/Quote]
刚用这两个命令都试过了,都是Command not found 啊。。
brightyq
2012-06-06
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
不一定是堆栈占用内存大导致CPU 100%。
个人觉得cpu占用100%大部分原因不是JVM内存溢出了,还是程序的问题,有可能在哪个地方死锁了,或循环没有正常结束。
[/Quote]
咦?看错了,原来你说的是内存占用100,不是cpu哦?
那还得监测下JVM的内存使用情况,看哪些对象没有被GC及时回收,而且占用内存很大的。
工具不好用,写程序吧,看下java.lang.management这个包。
加载更多回复(4)
Java
线程 Top 50
2019独角兽企业
重金
招聘Python工程师标准>>> ...
Java
线程面试题 Top 50
2019独角兽企业
重金
招聘Python工程师标准>>> ...
Java
50道
Java
线程面试题
2019独角兽企业
重金
招聘Python工程师标准>>> ...
Java
线程面试题 Top 50
2019独角兽企业
重金
招聘Python工程师标准>>> ...
50道
Java
线程面试题
2019独角兽企业
重金
招聘Python工程师标准>>> ...
Java
51,397
社区成员
85,842
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章