Preciso verificar o número de descritores de arquivo que são abertos por um processo Java. A saída de lsof é de quase 40000 linhas. Aqui está apenas o começo:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 12003 jboss cwd DIR 253,7 4096 1835012 /obcdn/Jboss/bin
java 12003 jboss rtd DIR 253,0 4096 2 /
java 12003 jboss txt REG 253,7 7336 2621459 /obcdn/java1.8/bin/java
java 12003 jboss mem REG 253,2 111080 171382 /usr/lib64/libresolv-2.17.so
java 12003 jboss mem REG 253,2 27776 133531 /usr/lib64/libnss_dns-2.17.so
java 12003 jboss mem REG 253,7 278078 1966631 /obcdn/Jboss/modules/system/layers/base/org/yaml/snakeyaml/main/snakeyaml-1.15.0.redhat-1.jar
java 12003 jboss mem REG 253,7 360979 1835896 /obcdn/Jboss/modules/system/layers/base/org/apache/james/mime4j/main/apache-mime4j-0.6.0.redhat-5.jar
java 12003 jboss mem REG 253,7 32957 1835471 /obcdn/Jboss/modules/system/layers/base/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/main/jackson-module-jaxb-annotations-2.5.4.redhat-1.jar
java 12003 jboss mem REG 253,7 28742 1835469 /obcdn/Jboss/modules/system/layers/base/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/main/jackson-jaxrs-base-2.5.4.redhat-1.jar
java 12003 jboss mem REG 253,7 16843 1835470 /obcdn/Jboss/modules/system/layers/base/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider
Parece que o processo está usando quase 40000 descritores de arquivo, isso parece um pouco demais, também estou preocupado com o fato de um ulimit -a mostrar esse número máximo de arquivos abertos
open files (-n) 40000
Apenas para confirmar minha análise: cada linha da saída lsof é realmente um FD aberto ou devo cumprimentar a saída de alguma forma para ter a contagem correta? obrigado
ls /proc/$PID/fd/|wc -l
onde PID é o ID do processo.