나는 갑자기 문제에 봉착했다. 내 모든 응용 프로그램과 서버가 정상적으로 실행 중이며 갑자기 열려있는 파일 수가 나타납니다.
이 명령으로 확인하고 있습니다.
cat /proc/sys/fs/file-nr
이것을 확인하면이라고 표시 44544 0 128000
되므로 44544는 열린 파일 수입니다.
그러나이 명령으로 확인하면 lsof | wc -l
-28384가 표시됩니다.
어느 것이 맞습니까?
내 최대 열린 파일 제한은 65535입니다
ulimit -a
open files (-n) 65535
더 많은 열린 파일을 사용하는 상위 5 개 프로세스를 알고 싶습니다. 나는 이것을 얻을 수 lsof
있지만 여기에 표시된 수는 위에서 언급 한 다른 명령과 매우 다릅니다.
이 명령으로 계산 된 프로세스의 세부 정보를 얻을 수 있습니까 cat /proc/sys/fs/file-nr
?
아래 언급 된 링크에 따르면 우리는 열 수 없습니다. 열린 파일 설명자를 표시하지만 lsof 명령을 사용하지 않는 방법
나를 위해 해결 방법이 있습니까? 더 많은 열린 파일을 사용하기 시작한 프로세스를 갑자기 찾아야합니다.
업데이트 문제로 죄송합니다. 내가하고있는 실수는 루트에서 lsof | wc -l을 확인하지 않는 것을 발견했습니다. 그것이 제가 큰 차이를보고있는 이유입니다.
여전히 파일 -nr과 lsof의 출력에는 차이가 있습니다. wc -l (루트에서). lsof count가 파일 -nr count보다 큽니다. 이것의 이유는 파일 -nr은 Google 자체에 대한 작은 연구 로이 이유를 찾은 일부 디렉토리 (lsof에서 파일로 간주)를 무시합니다. 어쨌든! 모든 도움을 주셔서 감사합니다.
lsof | wc -l
정말 부정적인 번호를 보여?