Linux: contagem de arquivos abertos para processo

1

Como posso verificar quantos arquivos abertos estão sendo usados atualmente?

Verificar na PM2 é apenas um exemplo:

Eu encontrei o PID:

ps aux | grep pm2 | awk '{ print $2 }'

Verificou-se que existe um limite de 65536 openfiles:

# cat /proc/16305/limits | grep 'Max open files'

Max abre os arquivos 65536 65536 arquivos

Esse limite é definido via systemd:

# cat /etc/systemd/system/pm2.service.d/nofile_limit.conf
[Service]
LimitNOFILE=65536

Eu sei que posso verificar quantos arquivos estão abertos com base no usuário:

lsof -u UserName | wc -l
252

O PM2 está sendo executado em um usuário diferente do PM2, e quando eu verifiquei o limite desse usuário é ridiculamente pequeno, então algo está errado aqui ...

Como posso verificar quantos arquivos abertos estão sendo usados atualmente se o limite for definido e gerenciado pelo systemd?

Quando eu escrevi este post eu vim com uma ideia, talvez isso possa ser uma solução para o meu próprio problema:

lsof | grep ' userName ' | awk '{print $NF}' | sort | wc -l
2348

O que você acha?

    
por crashoverbike 21.02.2017 / 14:12

0 respostas