
Eu tenho o Centos 6.7 executando o aplicativo Java por meio de um programa wrapper. Então, primeiro eu corri isso.
lsof -p 15200 | wc -l and I got the results immediately as 200
em seguida, executei isso, lsof -p 15232 | wc -l
continuo demorando muito e nunca gerei nenhum resultado. Que outro método posso usar para obter o total de arquivos abertos? Preciso saber porque meu sistema continua travando depois de um certo tempo. Talvez precise aumentar o tamanho do arquivo aberto.
Responder1
Você pode obter os arquivos numéricos abertos por um processo identificado por um PID, por exemplo 15232, fazendo:
ls -l /proc/15232/fd | wc -l
Estou tentando descobrir o significado de:
/proc/$PID/fd/*
arquivos.
São links que apontam para os arquivos abertos do processo cujo pid é $PID. Fd significa "descritores de arquivo", que é um número inteiro que identifica qualquer entrada ou saída de programa em sistemas do tipo UNIX.
É aqui também que o lsof
comando obtém as informações para fornecer os arquivos de um processo.
Este é um recurso do kernel Linux e é independente da distribuição.