当前位置: 技术问答>java相关
如何检查cpu怎样被占用的
来源: 互联网 发布时间:2015-09-13
本文导语: 最近我们团队用java对我们的程序进行了一次升级。 程序运行几天后会发生这样一个问题,cpu100%,别的程序都不能正常运行了!!! 很严重,检查了代码,没有发现什么问题。 因为是正常运行了业务,所以没有办...
最近我们团队用java对我们的程序进行了一次升级。
程序运行几天后会发生这样一个问题,cpu100%,别的程序都不能正常运行了!!!
很严重,检查了代码,没有发现什么问题。
因为是正常运行了业务,所以没有办法把其中一些模块停下来几天来检查问题出在什么地方。我想请问,如果一旦出现cpu100%的情况。有办法检查出是哪个模块在占用资源吗?
程序运行几天后会发生这样一个问题,cpu100%,别的程序都不能正常运行了!!!
很严重,检查了代码,没有发现什么问题。
因为是正常运行了业务,所以没有办法把其中一些模块停下来几天来检查问题出在什么地方。我想请问,如果一旦出现cpu100%的情况。有办法检查出是哪个模块在占用资源吗?
|
这个问题很难来做处理,你可以尝试使用以下J-Sprint来看一下那些线程使用cpu和内存,不过效果不是太好,到google上可以搜到。其实jvm提供一个接口可以让非java程序(如c语言编写的程序)来查询cpu和内存的使用情况。
cpu出现了100%,一定是那一段程序中出现了死循环,如果可能,我觉得还是使用排查来的更快些
cpu出现了100%,一定是那一段程序中出现了死循环,如果可能,我觉得还是使用排查来的更快些
|
用java命令是加上-Xprof参数就可以了。
|
加上-Xprof参数可以察看cpu的使用情况。