lsof comando demorando muito para um id de processo em particular

2

Eu tenho o Centos 6.7 executando o aplicativo java através de um programa wrapper. Então, primeiro eu corri isto.

lsof -p 15200 | wc -l and I got the results immediately as 200

next eu corri este lsof -p 15232 | wc -l eu continuo demorando muito e nunca gerou nenhum resultado. Que outro método posso usar para obter o total de arquivos abertos? Eu preciso saber porque meu sistema fica pendurado depois de um certo tempo. Talvez precise aumentar o tamanho do arquivo aberto.

    
por user8012596 19.05.2017 / 22:24

1 resposta

4

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

das listas do Debian :

I am trying to figure out the meaning of:

/proc/$PID/fd/*

files.

     

Estes são links que apontam para os arquivos abertos do processo cujo pid   é $ PID. Fd significa "descritores de arquivo", que é um inteiro que   identifica qualquer entrada ou saída do programa em sistemas semelhantes ao UNIX.

Isso também é realmente onde o comando lsof bebe as informações para fornecer os arquivos de um processo.

Este é um recurso do kernel do Linux e é independente de distribuição.

    
por 19.05.2017 / 22:40

Tags