我有一个 Java 程序,它有时会同时变成 100% 的 CPU 使用率和睡眠状态。该程序不是多线程的。
环顾四周,我认为最有可能的原因是我运行 Java 解释器的垃圾收集方式存在错误或不匹配。我只能认为100%的CPU使用率是因为GC。我正在为程序分配足够的内存以使用 Xmx 运行,并且即使接近我分配的数量,该程序也不会运行。我分配的数量也远小于机器上可用的总内存。
我找到了这个:
http://code.google.com/p/spymemcached/issues/detail?id=279
在 stackoverflow.com 上也有一些提及,例如这里:
尽管如此,我还是找不到解决方案。这是 JVM 中的错误,如果是,我将如何修复它?
编辑:我在这里添加了 jstack 输出的粘贴:http: //pastebin.com/Au0V9FCN