12.04 迁移过程时间延迟

12.04 迁移过程时间延迟

我们的服务器存在一个问题,即迁移过程需要花费时间,并且服务器的负载也因此而变得很高。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
Linux kvm-cloud 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
root         6     2 17 Nov25 ?        01:51:10 [migration/0]
root         8     2 16 Nov25 ?        01:44:56 [migration/1]
root        13     2 12 Nov25 ?        01:24:30 [migration/2]
root        17     2 17 Nov25 ?        01:51:03 [migration/3]
root        21     2 13 Nov25 ?        01:26:44 [migration/4]
root        25     2 17 Nov25 ?        01:51:03 [migration/5]
root        29     2 16 Nov25 ?        01:50:09 [migration/6]
root        33     2 16 Nov25 ?        01:49:58 [migration/7]
root        37     2 16 Nov25 ?        01:50:09 [migration/8]
root        41     2 13 Nov25 ?        01:29:26 [migration/9]
root        45     2 13 Nov25 ?        01:25:29 [migration/10]
root        49     2 16 Nov25 ?        01:47:29 [migration/11]
root        53     2 16 Nov25 ?        01:46:22 [migration/12]
root        57     2 16 Nov25 ?        01:45:02 [migration/13]
root        61     2 17 Nov25 ?        01:51:37 [migration/14]
root        65     2 16 Nov25 ?        01:47:59 [migration/15]
root        69     2 16 Nov25 ?        01:47:59 [migration/16]
root        73     2 17 Nov25 ?        01:51:37 [migration/17]
root        77     2 16 Nov25 ?        01:47:53 [migration/18]
root        81     2 17 Nov25 ?        01:54:00 [migration/19]
root        85     2 16 Nov25 ?        01:46:04 [migration/20]
root        89     2 16 Nov25 ?        01:46:04 [migration/21]
root        93     2 12 Nov25 ?        01:21:52 [migration/22]
root        97     2 13 Nov25 ?        01:29:45 [migration/23]

ps -auxf | sort -nr -k 3 | head -10
root        81 17.2  0.0      0     0 ?        S    Nov25 114:00  \_ [migration/19]
root        73 16.9  0.0      0     0 ?        S    Nov25 111:37  \_ [migration/17]
root        61 16.9  0.0      0     0 ?        S    Nov25 111:37  \_ [migration/14]
root         6 16.8  0.0      0     0 ?        S    Nov25 111:10  \_ [migration/0]
root        25 16.8  0.0      0     0 ?        S    Nov25 111:03  \_ [migration/5]
root        17 16.8  0.0      0     0 ?        S    Nov25 111:03  \_ [migration/3

有人遇到过这个问题吗?如果有任何建议,请告诉我

答案1

“迁移”是将进程分布在各个核心上的内核进程,您应该看到每个核心都有一个进程。

通常,那些消耗大量资源的线程只是另一个问题的症状,而不是高负载的原因。

但是:防止进程迁移的一种方法是将它们固定到特定的单个核心或一系列核心上。摘自taskset

taskset 用于根据给定的 PID 设置或检索正在运行的进程的 CPU 亲和性,或根据给定的 CPU 亲和性启动新的命令。CPU 亲和性是一种调度程序属性,可将进程“绑定”到系统上的一组给定 CPU。Linux 调度程序将遵守给定的 CPU 亲和性,并且进程不会在任何其他 CPU 上运行。

请注意,Linux 调度程序还支持自然 CPU 亲和性:出于性能原因,调度程序会尝试尽可能长时间地将进程保持在同一个 CPU 上。因此,强制特定的 CPU 亲和性仅在某些应用程序中有用。

相关内容