gpt4 book ai didi

java - CentOS 6 中 JVM 的 CPU 使用率总是超过 100%

转载 作者:搜寻专家 更新时间:2023-10-31 19:34:28 25 4
gpt4 key购买 nike

下午好。我的 CentOS 6(64 位)服务器上的 Java VM 遇到了一个非常令人费解的问题。这是一台具有四核 CPU(带超线程)、16GB RAM 和 2TB 硬盘空间(在软件 RAID1 上)的服务器。我想我会在这里问,因为根据常见问题解答,有关开发人员使用的“常用工具”的问题是合适的。希望有人能阐明这个问题。

我每天 24 小时在服务器上运行一个 Java 软件。今天早些时候(在服务器区域设置的午夜后几个小时检测到,这是值得注意的,因为它是本月的第一天)我收到了连接到该软件的用户报告,作为客户端,它突然变得无法使用。 JVM 从未中断或重新启动。上次重启是在几天前,从那以后一直正常运行(使用大约 5% 或更少的 CPU,这是正常的)。

这一次,当我检查进程时,它基本上吞噬了它可以从服务器上运行的其他应用程序中争取到的所有 CPU 时间(如 top 报告的那样),或者超过 100%(如 ps 报告的那样) ).我尝试停止并重新启动该应用程序,但它一运行,CPU 使用率立即再次飙升至 100% 以上。内存占用正常。我尝试了不同的 JVM 标志,但无济于事。我尝试下载最新版本的软件并进行全新安装,但这也无济于事。最后,我尝试下载另一个,完全不同的 Java 软件,但是当我在服务器上运行它时,它遇到了同样的问题。

当我下载软件并在我的电脑上运行时,CPU占用是正常的。因此,我假设服务器有问题,但我无法想象它可能是什么。服务器的 JVM 是最新的,来自标准的存储库包(没有任何定制)。

来自 java 版本:

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

来自 uname -a:

2.6.32-131.21.1.el6.x86_64 #1 SMP Tue Nov 22 19:48:09 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux

来自 centos-release/redhat-release/system-release:

CentOS release 6.2 (Final)

关于 14.5gb 可用 RAM 的免费报告。 df 报告/home 分区中有大约 1.4tb 的可用磁盘空间(有问题的软件及其所有文件所在的位置)。

有什么想法吗?请询问您是否需要更多数据,并随时建议我尝试/检查的程序。在查找问题时,我发现有几个人遇到了 JVM 窃取 CentOS 上所有 CPU 的问题,但似乎没有一个与我的问题相符。

最佳答案

您可能想尝试以下命令

# service ntpd stop; date -s "`date`";service ntpd start;

我的 CentOS6 内核为 2.6.32-220.el6.x86_64 和 jdk1.7.0_04,上面的命令观察到并解决了高 CPU。无需重启操作系统。

这似乎是 linux 内核的错误,如 https://access.redhat.com/knowledge/solutions/154793 中所述。 .上述修复在 http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/ 中进行了描述

关于java - CentOS 6 中 JVM 的 CPU 使用率总是超过 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com