Не считая зарезервированного пространства root (обычно 5%), если /tmp действительно заполнен на 100%, то есть свободно 0 байт,почему мы не смогли войти в машину через ssh? Мы получили только сообщение об ошибке «невозможно выполнить форк».
Есть ли какие-либо параметры для клиента ssh, позволяющие нам войти в машину, когда на ней на 100% заполнен /tmp?
ОБНОВЛЕНИЕ: перезагрузка на самом деле не вариант :\
решение1
Я не думаю, что /tmp
проблема в full. fork()
Системный вызов завершается с этой конкретной ошибкой только в том случае, если запущено слишком много процессов.
У вас установлен ulimit?
Если у вас нет доступа к консоли, то вы мало что можете сделать...
решение2
Я видел случаи, когда /tmp поддерживался пространством SWAP... поэтому, если вы используете подкачку и у вас много активности с /tmp, вполне возможно, что при исчерпании пространства SWAP вы увидите это сообщение.
Если у вас не хватает памяти, то у вас может не быть выбора, кроме как перезагрузиться. Убийца памяти может работать, однако он без разбора убивает процессы, некоторые из которых могут быть важны.
Другое дело, что один (или несколько) процессов заполнили таблицу процессов. При отсутствии дополнительных слотов вы также можете получить это сообщение. Вашим решением здесь будет операция поиска и уничтожения процессов, вызывающих это состояние... при условии, что вы можете войти в систему. Если вы не можете войти в систему, то перезагрузка — ваша единственная альтернатива.
Наконец, конечно, программное обеспечение или оборудование машины могут иметь серьезную проблему. Таким образом, возникает ситуация, которую вы описываете.
решение3
Во многих системах /tmp
— это виртуальная файловая система, которая находится в оперативной памяти. В зависимости от настроек ее заполнение может поглотить всю оперативную память и оставить вас без достаточного объема памяти для инициализации нового процесса.
Как вы можете себе представить, это не то, что ssh
можно обойти постфактум. Но вы можете предотвратить это в будущем, настроив /tmp
так, чтобы это не могло вырасти до таких размеров.
решение4
В качестве обходного пути попробуйте ssh после перезагрузки. Однажды я столкнулся с похожей проблемой, которая была решена автоматически после перезагрузки системы!