我在Ubuntu服务器上后台运行了一个jar。
在某个时刻,应用程序开始消耗过多的CPU (400%),而4个子进程处于R状态:

注:问题不是因为使用量的原因,而是在一段时间后(3-4天)引起的。我们得杀了java然后重新运行它。
我做了java -verbose:gc,下面是我在重新启动应用程序和应用程序显示之前解释的问题之间得到的信息。

发布于 2016-03-22 01:18:34
java进程跑掉的一个常见原因是,如果它遇到内存压力,并且花费了大部分时间收集垃圾。使用-verbose:gc运行该进程,当它体验到高CPU时,您将看到它在一个紧密的循环中运行gc。
发布于 2016-03-21 20:32:07
您的Java应用程序存在一些问题,这使得它能够做到这一点。您应该研究应用程序的日志,找出原因,并要求应用程序的开发人员修复它。
https://serverfault.com/questions/765151
复制相似问题