Как я могу проверить, сколько открытых файлов сейчас используется?
Проверка PM2 - это просто пример:
Я нашел PID:
ps aux | grep pm2 | awk '{ print $2 }'
Проверил, что есть лимит в 65536 открытых файлов:
# cat /proc/16305/limits | grep 'Max open files'
Максимальное количество открытых файлов 65536 65536 файлов
Этот лимит устанавливается через systemd:
# cat /etc/systemd/system/pm2.service.d/nofile_limit.conf
[Service]
LimitNOFILE=65536
Я знаю, что могу проверить, сколько файлов открыто в зависимости от пользователя:
lsof -u UserName | wc -l
252
PM2 работает на другом пользователе, чем PM2, и когда я проверил предел для этого пользователя, он смехотворно мал, так что здесь что-то не так ...
Как я могу проверить, сколько открытых файлов используется в настоящее время, если лимит установлен и управляется systemd?
Когда я писал этот пост, у меня возникла идея, может быть, это может быть решением моей собственной проблемы:
lsof | grep ' userName ' | awk '{print $NF}' | sort | wc -l
2348
Что вы думаете?
Если вы хотите проверить один процесс, который, как вы знаете, pid, попробуйте это
ls /proc/$pid/fd/ | wc -l