我在我的一台服务器上遇到了一个奇怪的问题。这是在具有一个专用 CPU 内核的 KVM VPS 上。
但是,在此期间 CPU 使用率实际上并没有增加,这也排除了 iowait 是原因:
它发生时似乎是周期性的(例如,在此图中,它大约每 20-25 分钟发生一次)。我怀疑有一个 cronjob,但我没有任何每 20 分钟运行一次的 cronjob。我也试过禁用我的 cronjobs 并且负载峰值仍然发生。
当 SSH 进入服务器时,我设法实际看到了这种情况……它的负载为 1.88,但 CPU 空闲率为 94%,iowait 为 0%(这可能是我预期的原因)
发生这种情况时,似乎没有很多磁盘 I/O。
我难住了。有任何想法吗?
我有两个配置非常相似的虚拟服务器:Debian bullseye(测试)、5.6.0 内核、512 MB RAM。它们都运行相似的工作负载:MySQL、PowerDNS、WireGuard、dnstools.ws 工作线程和用于监控的 Netdata。
仅在其中一台服务器上,不可回收的平板内存会随着时间线性增长,直到达到最大值(当服务器的内存已 100% 分配时):
下降是当我重新启动 VPS 时。
slabtop
在坏服务器上:
Active / Total Objects (% used) : 1350709 / 1363259 (99.1%)
Active / Total Slabs (% used) : 25358 / 25358 (100.0%)
Active / Total Caches (% used) : 96 / 124 (77.4%)
Active / Total Size (% used) : 113513.48K / 117444.72K (96.7%)
Minimum / Average / Maximum Object : 0.01K / 0.09K / 8.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE …
Run Code Online (Sandbox Code Playgroud)