Des*_*awn 5 virtualization linux swap linux-kernel
我有一个闲置的 Linux centOS 系统,但 kswapd 使用的是 100% cpu。
我所运行的只是一个 bash 会话,最高运行......我有 32G RAM,但 kswapd 一直使用 100% cpu 超过 4 小时。
AFAICS 这与免费 RAM 或 SWAP 无关。我们在这里遇到同样的问题,有时会影响生产机器,并且有大量可用 RAM,通常超过 700 MB,没有要同步的脏缓冲区,并且使用了 0 字节交换。由于某些未知的竞争条件,它看起来确实像是一个严重的内核 BUG。
目前我们运行 CentOS 内核 2.6.18-194.el5,并将尝试用一些更新的内核替换它,因为我们认为这可能会有所帮助。
更新:
RedHat 已确认这是 2.6.18-194.el5 的内核问题
解决方案:
Run Code Online (Sandbox Code Playgroud)Minimum: kernel-2.6.18-194.32.1.el5 contains the immediate bugfix Better: kernel-2.6.18-238.el5 contains additional kswapd-related bugfixes Best: kernel-2.6.18-348.4.1.el5 latest kernel which runs with RHEL 5.5 without change
同时有一个脚本,可以很好的检测CPU 100%的情况。我们的监控每分钟都会调用它来告知我们情况。如果这种情况持续太久,受影响的机器将由于越来越多的不可杀死的进程使用 100% CPU 而完全锁定,直到机器变得完全无法管理。
目前已知解决该问题的唯一方法是手动硬重启受影响的计算机。 /sbin/reboot失败,因为机器经常在关机时挂起。
要从任何 root shell 命令行硬重启计算机而不直接访问控制台,请执行以下操作:
echo 10 > /proc/sys/kernel/panic
echo 1 > /proc/sys/kernel/sysrq
echo s > /proc/sysrq-trigger
sleep 5
echo s > /proc/sysrq-trigger
sleep 1
echo b > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
请记住,请在使计算机停顿后执行此操作,以便不再有进程写入磁盘。这将防止fsck重新启动后运行出现严重问题。
抱歉,没有真正的解决方案,但是 HTH。请记住,除了此处所述之外,也许还有其他原因会导致 kswapd 上出现 100% CPU 情况。因此,在这种情况下自动重启可能是一个坏主意。
| 归档时间: |
|
| 查看次数: |
16853 次 |
| 最近记录: |