несимметричная загрузка процессоров

12
V
На сайте с 25.07.2006
Offline
128
1444

Здравствуйте, уважаемые господа!

На новом LAMP-сервере (centos 5.3) наблюдаю странное явление - ядра номер 2 и 3 загружены намного сильнее, чем 0 и 1.

При этом load average сервера намного больше запланированного - если старый, немного менее мощный сервер имел загрузку ~0.5, то новый ~2.

Вот то, что обычно показывает top

17:44:28 up 2 days,  5:39,  1 user,  load average: 1.51, 1.49, 1.29

Tasks: 140 total, 1 running, 139 sleeping, 0 stopped, 0 zombie
Cpu0 : 1.5%us, 0.0%sy, 0.0%ni, 98.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.8%us, 0.0%sy, 0.0%ni, 99.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 1.5%us, 0.0%sy, 0.0%ni, 68.5%id, 30.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 8.5%us, 1.5%sy, 0.0%ni, 90.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3922776k total, 3812884k used, 109892k free, 212788k buffers
Swap: 2096472k total, 76k used, 2096396k free, 2852572k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5568 apache 15 0 373m 36m 26m S 3.0 0.9 0:14.68 /usr/sbin/httpd
7285 apache 15 0 382m 47m 29m S 3.0 1.2 0:06.84 /usr/sbin/httpd
6339 apache 15 0 382m 47m 29m S 1.5 1.2 0:13.25 /usr/sbin/httpd

Вывод dmesg в аттаче.

Подозреваю, что дело таки в железе, но как диагностировать проблему ума не приложу...

txt dmesg.txt
Приватный linux-администратор
M
На сайте с 16.09.2009
Offline
278
#1
ядра номер 2 и 3 загружены намного сильнее, чем 0 и 1.

так в среднем получается? уверены? а если


top -d 60

?

может все-таки показатели брали за короткие промежутки времени?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
V
На сайте с 25.07.2006
Offline
128
#2
myhand:
так в среднем получается? уверены? а если

top -d 60

?

может все-таки показатели брали за короткие промежутки времени?

Нет, ошибки быть не может, это очевидно. Ядра 2 и 3 нагружены на порядок сильнее, чем 0 и 1.

top - 15:34:31 up 3 days, 11:18,  1 user,  load average: 0.77, 0.87, 0.96

Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie
Cpu0 : 1.5%us, 0.6%sy, 0.0%ni, 91.2%id, 6.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 2.5%us, 0.4%sy, 0.0%ni, 89.8%id, 7.3%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 2.8%us, 0.5%sy, 0.0%ni, 62.3%id, 34.3%wa, 0.0%hi, 0.1%si, 0.0%st
Cpu3 : 14.3%us, 2.3%sy, 0.0%ni, 60.4%id, 22.3%wa, 0.1%hi, 0.6%si, 0.0%st
Mem: 3922768k total, 3108560k used, 814208k free, 230900k buffers
Swap: 2096472k total, 13808k used, 2082664k free, 2097424k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2379 mysql 15 0 924m 78m 4524 S 1.7 2.1 72:20.29 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql
24589 apache 15 0 381m 50m 32m S 1.4 1.3 0:17.55 /usr/sbin/httpd
26059 apache 15 0 373m 33m 23m S 1.2 0.9 0:10.77 /usr/sbin/httpd
24171 apache 15 0 382m 52m 34m S 0.8 1.4 0:20.17 /usr/sbin/httpd
26558 apache 15 0 372m 30m 21m S 0.8 0.8 0:07.52 /usr/sbin/httpd
24596 apache 15 0 373m 33m 23m S 0.7 0.9 0:19.43 /usr/sbin/httpd
26556 apache 15 0 374m 30m 20m S 0.6 0.8 0:07.69 /usr/sbin/httpd
24168 apache 15 0 382m 56m 38m S 0.6 1.5 0:21.29 /usr/sbin/httpd
........
M
На сайте с 16.09.2009
Offline
278
#3

ну если так уверены...

в /proc/<pid>/stat есть информация о CPU ID, на

котором процесс/поток запускался в последний раз. man 5 proc.

топ умеет это показывать, man top. так вы соберете статистику что на чем работает

но сильно удивлюсь, если асимметрия есть - скорее всего, вы смотрите

статистику просто за короткое время.

V
На сайте с 25.07.2006
Offline
128
#4

Я администрирую десятки серверов. Мне есть с чем сравнивать. На работе я не пью. top действительно в каждой итерации показывает бОльшую загрузку ядер 2 и 3. Регулярно.

В аттаче вывод top с информацией по процессам по ядрам.

txt top2.txt
P
На сайте с 08.03.2007
Offline
250
#5

а как httpd сконфигурирован ? не висит ли один многопоточный демон как раз на том злосчастном ядре?

M
На сайте с 16.09.2009
Offline
278
#6

Pilat, для ядра что процесс - что поток. разницы нет для планировщика

да и не верится, что mysqld показывает одним процессом а httpd - вдруг нити в top :)

P
На сайте с 08.03.2007
Offline
250
#7

myhand, не то что не верится, а похоже так и есть - висит один httpd на третьем ядре и с него не уходит.Last used CPU ==3 всегда кроме одного. Подозрительно это.

M
На сайте с 16.09.2009
Offline
278
#8

не одного, там штуки три-четыре на 1-м

и для тредового такое - тоже странно

P
На сайте с 08.03.2007
Offline
250
#9

чётко видно - апач на третьем ядре висит. Надо разбираться почему.

N
На сайте с 06.05.2007
Offline
419
#10

Теоретически неправильная обработка процессоров с HT может вызвать такой глюк. для HT выгодно нагружать сначала физические процессоры, а потом гипертредные. Конкретно в этой модели процессора HT нет, но это не значит что планировщик работает абсолютно безглючно

Скомилируйте самый последний самосбор для проверки.

Кнопка вызова админа ()
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий