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 или для запуска новой КОМАНДЫ с заданной привязкой к ЦП. Сродство к процессору - это свойство планировщика, которое "связывает" процесс с заданным набором процессоров в системе. Планировщик Linux будет учитывать заданную привязку к процессору, и процесс не будет выполняться на других процессорах.
Обратите внимание, что планировщик Linux также поддерживает естественную привязку к процессору: планировщик пытается сохранить процессы на одном и том же процессоре настолько долго, насколько это практически возможно из соображений производительности. Поэтому форсирование определенного сродства ЦП полезно только в определенных приложениях.