특정 프로세스 ID에 대해 lsof 명령이 너무 오래 걸림

특정 프로세스 ID에 대해 lsof 명령이 너무 오래 걸림

래퍼를 통해 Java 애플리케이션을 실행하는 Centos 6.7이 있습니다. 그래서 먼저 이것을 실행했습니다.

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

다음으로 나는 이것을 실행했는데 lsof -p 15232 | wc -l시간이 너무 오래 걸리고 아무런 결과도 얻지 못했습니다. 열린 파일의 총 개수를 확인하기 위해 사용할 수 있는 다른 방법은 무엇입니까? 잠시 후에도 시스템이 여전히 작동하지 않기 때문에 알고 싶습니다. 열린 파일의 크기를 늘려야 할 수도 있습니다.

답변1

다음을 수행하여 15232와 같은 PID로 식별되는 프로세스에서 열린 파일 수를 얻을 수 있습니다.

ls -l /proc/15232/fd | wc -l

~에서데비안 목록:

나는 다음의 의미를 알아내려고 노력하고 있습니다.

/proc/$PID/fd/*

문서.

이 링크는 pid가 $PID인 프로세스에 대한 열린 파일을 가리킵니다. Fd는 UNIX 계열 시스템에서 프로그램 입력 또는 출력을 식별하는 정수인 "파일 설명자"를 나타냅니다.

실제로 이는 lsof명령이 프로세스 파일을 제공하기 위한 정보를 가져오는 위치이기도 합니다.

이는 Linux 커널의 기능이며 배포판에 독립적입니다.

관련 정보