У меня есть приложение, работающее на Сервере Linux. Но сервер внезапно прекратил отвечать, но когда я проверяю с помощью ping-запросов с другой машины на сервер, это позволило проверять с помощью ping-запросов, но не позволяло входить в систему в сервер. Не уверенный, почему?
Сценарий:
Теперь проблема, мы не уверены, почему это произошло. Мы пытались изучить /var/log/messages
файл и найденное ниже подозрительное сообщение:
kernel: VFS: file-max limit 100000 reached
Кто-либо мог помочь нам на, как мы можем проверить, какие процессы взяли эти много дескрипторов? Есть ли какие-либо файлы журнала, где мы можем найти, какой процесс взял столько открытых дескрипторов?
Сообщите мне, потребовала ли дальнейшая информация на этом.
Спасибо
Сообщение указывает на то, что на машине заканчиваются файлы, которые обрабатываются, проверьте текущее значение и попробуйте увеличить его.
List the current max-limit
#cat /proc/sys/fs/file-max
Чтобы увеличить количество файлов (для всей системы), добавьте следующее строку в ваш sysctl.conf (/etc/sysctl.conf)
fs.file-max = 131072
Выполните команду ниже, чтобы перечитать файл конфигурации
sysctl -p
Значение в file-max обозначает максимальное количество дескрипторов файлов, которые ядро Linux будет выделять . Когда вы получаете много сообщений об ошибках, связанных с исчерпанием дескрипторов файлов, вы можете увеличить этот предел. Попытки выделить больше файловых дескрипторов, чем file-max, сообщаются с ошибкой: «VFS: достигнуто максимальное количество файловых дескрипторов.
Я не думаю, что есть журнал, в котором у нас есть информация о том, какой процесс открыл максимальное количество файловых дескрипторов