CPU 空闲率很高,但进程却在努力跟上,就好像 CPU 处于重负载状态一样

CPU 空闲率很高,但进程却在努力跟上,就好像 CPU 处于重负载状态一样

我的centos几乎不能用。通常情况下,终端会在几秒钟内完全没有响应,但这可能只是 ssh 造成的滞后,这很奇怪,因为我的服务器连接到了非常强大的互联网连接。当我 ping 它时,我得到大约 100 毫秒。

进程正在努力跟上,例如我的普通《我的世界》服务器,它会定期发出这些消息,即使它处于空闲状态并且没有人连接。

[09:52:47 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2425ms behind, skipping 48 tick(s)
[09:54:27 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2484ms behind, skipping 49 tick(s)
[09:55:24 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 9341ms behind, skipping 186 tick(s)
[09:55:45 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 9635ms behind, skipping 192 tick(s)
[09:55:55 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 3539ms behind, skipping 70 tick(s)
[10:00:47 WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 3239ms behind, skipping 64 tick(s)

当我通过 top 查看 cpu 使用情况时,我看到:

top - 13:07:09 up 13:07,  2 users,  load average: 0.28, 0.58, 0.66
Tasks:  55 total,   1 running,  54 sleeping,   0 stopped,   0 zombie
Cpu(s): 10.1%us,  0.8%sy,  0.0%ni, 89.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,  1246272k used,  2948032k free,        0k buffers
Swap:   131072k total,        0k used,   131072k free,   479528k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3548 Minecraf  20   0 2947m 658m  12m S 31.6 16.1  10:29.84 java
  755 mysql     20   0  563m  21m 6464 S  0.3  0.5   2:37.13 mysqld
 3762 Minecraf  20   0 14900 1240  984 R  0.3  0.0   0:01.71 top
    1 root      20   0 19236 1520 1224 S  0.0  0.0   0:00.15 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd/27052
    3 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper/27052
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/0
    5 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/1
    6 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/2
    7 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/3
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/4
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/5
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/6
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rpciod/27052/7
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 nfsiod/27052
...

我在服务器吐出“跟不上!”的那一秒内复制了这个顶部视图。消息。

到底是怎么回事?我很确定服务器应该有足够的资源才能正常运行,并且 top 告诉我 cpu 大部分是空闲的。

其他可能有用的信息是,这是一个具有 3 个 cpu 核心的 vps 服务器。我试图告诉我的世界使用所有可用的CPU核心,但这并没有解决问题。

另外,如果这是错误的地方问这个问题,我应该去哪里?到目前为止,我问过的每个人都只是告诉我,我问这个问题是在错误的地方。

答案1

这似乎不是一个操作系统问题,而是一个 Minecraft 问题,所以我会阅读 Minecraft 论坛来寻找答案。有大量专门讨论此问题的页面,例如:

http://minecraftserverhq.com/blog/can%27t-keep-up/

片段:

“其他可能有用的信息是,这是一个具有 3 个 cpu 核心的 vps 服务器。我试图告诉 Minecraft 使用所有可用的 cpu 核心,但这并没有解决问题。”

更多动力 好的,所以这里要小心。这是一个有点令人困惑的话题。你必须意识到,Minecraft 服务器只能运行在一核处理器的。升级到6核怪物不会给你带来任何好处。但是,如果您获得每个核心速度更快的处理器,那么您就可以真正提高播放器的容量,而不会增加任何延迟。在撰写本文时,您可以获得的绝对最好的处理器是本网站确定的英特尔酷睿 i7-2700K。您会看到还有其他几个性能更好的处理器,但仔细检查会发现它们都是 6 核。这意味着,即使 3960X 的密码为 14,900,您的服务器也只能访问其中的 2,480 个功率,而 2700K 则为 2,575 个。

相关内容