2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
上周,确切地说是一个周一的早晨,显示器上的“严重警报”通知让我心惊胆战。运行在我自有虚拟专用服务器(VPS)上的系统,尤其是我的多克尔(Docker)容器,突然开始变慢。甚至连安全外壳协议(SSH)连接都出现延迟,命令执行也需要很长时间。然而,我并没有进行任何特殊操作;只是应用了常规的夜间更新。
这种突然的减速对我来说是个大问题。因为这台虚拟专用服务器就是我的整个世界。它运行着超过 13 个多克尔容器:一个 PostgreSQL 数据库、Redis 缓存、我的 Next.js 应用程序,当然还有发布本博客的 Astro 站点。一切原本都在协同顺畅运行。直到这个早晨。我开始深入排查以找到问题的根源。
交换空间使用率失控
我首先检查的是服务器的整体资源使用情况。当我运行 htop 命令时,眼前的景象令我难以置信:交换空间(Swap)使用率接近 100%。通常,我会将交换空间保持在使用率极低的状态,有时甚至完全禁用它。但这次情况不同。如此高的交换空间使用率表明系统随机存取存储器(RAM)不足,已开始使用磁盘上的交换空间。这反过来导致性能急剧下降。
为什么交换空间使用率会突然飙升至此?我立即检查了 dmesg 和 journalctl 日志。我看到了许多与 kcompactd 和 oom-killer 相关的警告。我注意到 kcompactd 占用了约 90% 的中央处理器(CPU)资源。这表明内核在内存管理方面遇到了严重问题。
⚠️ 交换空间使用的危险
交换空间是一种基于磁盘的存储区域,当物理随机存取存储器(内存)不足时会启用。然而,磁盘的速度远慢于随机存取存储器。交换空间使用率的增加直接导致系统性能显著下降。过度的交换空间使用可能导致服务器冻结,或进程被
oom-killer(内存溢出杀手)突然终止。
由内核通用漏洞披露补丁引发的噩梦
当我更详细地检查日志时,我意识到问题始于我夜间应用的内核更新。我特意应用了一个与 CVE-2026-31431 相关的补丁。此通用漏洞披露旨在修复内核网络栈中的一个安全漏洞。然而,似乎这个补丁在我的系统上引发了意外的副作用。
此通用漏洞披露补丁与内核的内存管理密切相关。它包含针对 algif_aead 模块的特定修复。该模块用于虚拟专用网络(VPN)和加密操作。虽然我没有在系统上直接建立虚拟专用网络连接,但多克尔的网络操作和一些防火墙规则可能间接影响了该模块。接下来发生的事情并非那种“企业顾问”式的口吻,而是完全基于我个人的经历,一种让我感叹“这种事总会发生”的情况。
确定问题根源
kcompactd 占用大量中央处理器资源的原因,是内核试图保持内存页的连续性。然而,这一过程导致了内存管理的瓶颈。一切都始于我夜间应用的内核更新。在我的案例中,此次更新与我现有的配置不兼容。
此时,我想起了以前 Astro 构建过程消耗大量随机存取存储器的时刻。在这些情况下,系统也会转而使用交换空间。但这次,问题更深层次,处于内核级别。kcompactd 达到 92% 的中央处理器使用率是不正常的。这种情况导致服务器甚至无法接受安全外壳协议连接。
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。