Что важно знать
- Load average считает и ожидающих диска, а не только процессор.
- Свободная память и доступная — разные числа: кэш освобождается.
- Удалённый, но открытый файл занимает место, пока процесс жив.
Состояния процессов, load average, память и OOM killer, заполненный диск.
Практика. На учебной машине воспроизвести заполнение диска удалённым открытым файлом и нехватку памяти, найти причины командами df, du, lsof, free, dmesg.
Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.
В ps видно состояние: R — выполняется или ждёт CPU, S — спит в ожидании события (норма для большинства), D — непрерываемый сон в ожидании ввода-вывода (не реагирует даже на SIGKILL), T — остановлен, Z — зомби: процесс завершился, но родитель не забрал код…
Полный разборLoad average — среднее за 1, 5 и 15 минут число процессов, которые выполняются или ждут CPU, а в Linux ещё и ожидают ввод-вывод (состояние D). Сравнивать с числом ядер: load 8 на 16 ядрах — нормально, на 2 ядрах — очередь. Высокий load при свободном CPU …
Полный разборLinux использует свободную память под кэш файлов (page cache), поэтому «free» почти всегда мал — смотреть надо на available: сколько можно выделить, вытеснив кэш. Когда память действительно закончилась, OOM killer убивает процесс с наибольшей оценкой (обычно…
Полный разборЧастая причина — удалённый файл, который ещё держит открытым процесс (например, лог после ротации): имя исчезло, du его не видит, а место не освободилось. Найти: lsof +L1 или lsof | grep deleted; освободить — перезапуск процесса или усечение через /proc…
Полный разборС чего начинать, когда сервер ведёт себя плохо, как читать load average, где на самом деле свободная память, кто такие зомби и куда делось место на диске.
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.