Что вызывает эти sleeping
процессы, которые я вижу top
? Если бы я должен был вызвать функцию sleep()
PHP, это добавит к счету sleeping
я вижу в top
? Существуют ли какие-либо недостатки, связанные с тем, что у вас большое количество sleeping
?
Процесс спящий, когда он заблокирован, ждет чего-то. Например, он мог бы вызвать read()
и ожидает, когда данные поступят из сетевого потока.
sleep()
действительно является одним из способов, чтобы ваш процесс спал некоторое время. Однако спать – это нормальное состояние всех процессов, кроме процессов с высокой вычислительной способностью. Сон – это, по сути, процесс, когда он ничего не делает. Нормальное состояние дел для большинства ваших процессов – спать – если это не так, это означает, что вам нужно больше мощности процессора.
Спящий процесс похож на приостановленный процесс. Процесс засыпает, когда:
Статус любого процесса может быть:
Состояние Значение
R Runnable
T остановлен
P Ожидание на странице
D Ожидание ввода-вывода
S Спящий <20 секунд
I Idle – спящий> 20 секунд
Z Зомби или несуществующий
Это процессы, которые сейчас не работают на процессоре. Это не обязательно плохо.
Если у вас есть огромные количества (например, 10000 в системе серверов) процессов, то количество памяти и т. Д., Используемое для отслеживания их, может сделать систему менее эффективной для процессов без сна.
В противном случае все в порядке.
Большинство обычных серверных систем часто имеют от 100 до 1000; это не имеет большого значения.
Просто потому, что они ничего не делают сейчас, это не значит, что они не будут, очень скоро. Сохраняя их в памяти, готовые, сокращает время ожидания, когда они требуются.
Чтобы подробнее остановиться здесь, состояние S
означает, что процесс ожидает на таймере или медленном устройстве, в то время как состояние D
означает, что он ждет на быстром устройстве.
То, что представляет собой быстрое устройство и медленное устройство, не очень четко определено, но, как правило, все последовательные, сетевые и терминальные устройства являются медленными устройствами, а диски – быстрыми устройствами.