У меня есть система, которой несколько лет, и на ней работает Fedora 7 (я знаю, она тоже старая). Теперь у меня работает медиасервер PS3 (и некоторые другие вещи, такие как Vmware и Plone), и я заметил, что получаю неожиданные прерывания при просмотре потоковых фильмов.
Обычно эта система читает и пишет со скоростью 25–30 МБ / с. Выяснил (см. Ниже), что в некоторые моменты все останавливается на 15-30 секунд. Я просмотрел другие вопросы и ответы здесь, но не смог найти никаких подсказок, что может быть не так (с точки зрения программного обеспечения). Здесь я открыл фильм и перешел к более позднему моменту. Моя PS3 использует медиа-сервер для получения миниатюр за каждую минуту, чтобы я мог перейти к нужной сцене.
Ниже я вижу, что эта простая операция приводит к остановке всей системы. Вся система останавливается в ожидании ввода-вывода. Также количество переключений контекста резко снижается до 650. Я проверил, не меняет ли система местами или иным образом сообщает об ошибках или предупреждениях в файлах журнала. Я не смог обнаружить ничего похожего.
Я использовал iotop, чтобы получить больше информации, и я только что обнаружил, что все запущенные приложения, которые выполняли несколько КиБ / сек ввода-вывода, внезапно оказались на 99% IOWAIT вместо 0,01%, которые они делали обычно.
На данный момент я предполагаю, что выходит из строя оборудование (жесткий диск).
Мой вопрос к вам, ребята: как мне узнать, в чем настоящая проблема?
Информация о системе: процессор Intel Pentium D 2,80 ГГц, хранилище Linux 2.6.22.1-27.fc7 # 1 SMP Tue Jul 17 17:13:26 EDT 2007 i686 i686 i386 GNU / Linux
Пример вывода dstat -f в моей системе.
-------cpu0-usage--------------cpu1-usage------ --dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/sdd-- ---paging-- ---system-->
usr sys idl wai hiq siq:usr sys idl wai hiq siq| read writ: read writ: read writ: read writ| in out | int csw >
3 12 84 1 0 0: 2 14 83 1 0 0|4096B 68k: 32k 0 : 0 0 : 0 0 | 0 0 | 125 4903 >
0 6 94 0 0 0: 1 8 91 0 0 0| 0 8192B: 16k 0 : 0 0 : 0 0 | 0 0 | 109 3734 >
0 2 96 2 0 0: 0 1 96 0 1 2|4096B 28k:1040k 0 : 0 0 : 0 0 | 0 0 | 998 3969 >
0 2 98 0 0 0: 1 0 97 2 0 0| 0 0 : 32k 0 : 0 0 : 0 0 | 0 0 | 115 3805 >
1 1 98 0 0 0: 0 4 96 0 0 0| 0 0 : 32k 0 : 0 0 : 0 0 | 0 0 | 121 3850 >
1 3 96 0 0 0: 2 4 80 0 2 12| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 |8110 5076 >
1 3 40 55 0 1: 1 2 32 57 1 7| 0 716k:2656k 0 : 0 0 : 0 0 | 0 0 |4213 4562 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 56k: 0 0 : 0 0 : 0 0 | 0 0 | 78 833 >
0 0 85 15 0 0: 0 0 0 100 0 0| 0 16k: 0 0 : 0 0 : 0 0 | 0 0 | 74 623 >
0 0 100 0 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 572 >
0 0 14 86 0 0: 0 0 0 100 0 0| 0 56k: 0 0 : 0 0 : 0 0 | 0 0 | 82 717 >
1 0 0 99 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 69 583 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 69 576 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 73 586 >
1 0 0 99 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 70 587 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 70 593 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 70 578 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 64 586 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 66 586 >
1 0 11 88 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 63 575 >
0 1 99 0 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 64 568 >
0 0 79 21 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 571 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 64 574 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 581 >
1 0 0 99 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 579 >
0 0 0 100 0 0: 0 1 0 99 0 0| 0 228k: 0 0 : 0 0 : 0 0 | 0 0 | 115 1230 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 66 579 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 574 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 583 >
1 0 0 99 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 64 581 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 16k: 0 0 : 0 0 : 0 0 | 0 0 | 67 595 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 64 583 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 584 >
0 0 0 100 0 0: 0 0 0 100 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 65 584 >
10 17 8 66 0 0: 0 0 0 100 0 0| 0 4096B: 0 0 : 0 0 : 0 0 | 0 0 | 67 595 >
1 3 17 76 1 2: 1 3 19 72 1 4| 0 3336k:3488k 0 : 0 0 : 0 0 | 0 0 |3386 4124 >
2 3 86 9 0 0: 1 4 72 7 1 15| 0 0 : 11M 0 : 0 0 : 0 0 | 0 0 |8925 5683 >
0 3 94 3 0 0: 1 3 80 4 2 10| 0 0 :6624k 0 : 0 0 : 0 0 | 0 0 |5744 4896 >
1 4 92 3 0 0: 0 7 81 6 1 5|8192B 412k: 448k 0 : 0 0 : 0 0 | 0 0 |2927 4535 >
1 1 97 1 0 0: 1 3 96 0 0 0|8192B 72k: 32k 0 : 0 0 : 0 0 | 0 0 | 131 3931 >
1 2 97 0 0 0: 0 2 98 0 0 0| 0 24k: 0 0 : 0 0 : 0 0 | 0 0 | 112 3889 >
1 16 83 0 0 0: 2 21 74 2 0 1| 12k 32k: 32k 0 : 0 0 : 0 0 | 0 0 | 130 4828 >
1 2 97 0 0 0: 0 2 98 0 0 0| 0 0 : 48k 0 : 0 0 : 0 0 | 0 0 | 127 3838 >
0 1 99 0 0 0: 1 2 97 0 0 0|4096B 44k: 0 0 : 0 0 : 0 0 | 0 0 | 113 3925 >
0 3 95 2 0 0: 0 1 99 0 0 0|8192B 44k: 16k 0 : 0 0 : 0 0 | 0 0 | 136 3973 >
1 1 96 1 0 1: 0 1 99 0 0 0|4096B 40k: 32k 0 : 0 0 : 0 0 | 0 0 | 124 3926 >
0 2 98 0 0 0: 1 1 98 0 0 0| 0 0 : 0 0 : 0 0 : 0 0 | 0 0 | 107 3792 >
Дополнительная информация: iotop обычно показывает это:
Total DISK READ: 3.82 K/s | Total DISK WRITE: 26.72 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
13516 be/2 root 3.82 K/s 11.45 K/s 0.00 % 1.44 % vmware-vmx -C /personal/VMWare
13514 be/2 root 0.00 B/s 7.63 K/s 0.00 % 0.01 % vmware-vmx -C /personal/VMWare
13517 be/2 root 0.00 B/s 7.63 K/s 0.00 % 0.01 % vmware-vmx -C /personal/VMWare
13519 be/4 root 0.00 B/s 26.72 K/s 0.00 % 0.00 % vmware-vmx -C /personal/VMWare
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [5]
2 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
6 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
7 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
8 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
9 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0]
При блокировке показывает следующее:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
3013 be/4 nobody 0.00 B/s 0.00 B/s 0.00 % 99.99 % httpd.vmware -DSSL -DSSL_ONLY
9828 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % vmware-vmx -C /personal/VMWare/
16464 be/4 niels 0.00 B/s 0.00 B/s 0.00 % 99.99 % java -Xmx768M -Djava.encoding=UT~e/niels/pms-linux-1.10.5/pms.jar
14013 be/4 niels 0.00 B/s 0.00 B/s 0.00 % 99.99 % java -Xmx768M -Djava.encoding=UT~e/niels/pms-linux-1.10.5/pms.jar
13516 be/2 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % vmware-vmx -C /personal/VMWare/
13555 be/2 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % vmware-vmx -C /personal/VMWare/
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [5]
2 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
6 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
Таким образом, нет никакого фактического ввода-вывода, которого нужно было бы ждать, и все еще все ждет своего ввода-вывода.
Ты пробовала iotop? В нем перечислены процессы, пытающиеся выполнить io.
Также попробуйте smartctl -a / dev / sd *, чтобы узнать, есть ли какие-либо S.M.A.R.T. ошибки.
возможно это ошибка ядра это причина. У меня такая же проблема на узлах хоста 20G RAM / 2 spindles, на которых работает 8-9 vmware server 2.0.1 vms. Возможно, вам придется перейти на 2.6.32 или понизить до 2.6.18.
Мой уродливый патч, специфичный для сервера vmware, заключался в перемещении файлов с отображением памяти (.vmem) в смонтированный каталог tmpfs.