열린 파일 및 파일 설명자 수를 계산하는 방법

열린 파일 및 파일 설명자 수를 계산하는 방법

Linux에서 open_files 수와 file_descriptors 수의 차이점은 무엇입니까? 혼란스러워요. /proc/sys/fs/file-max의 값은 총 file_descriptors 또는 총 open_files입니까? 전반적으로 pid에 대한 총 open_files 수와 전체 시스템의 총 open_files 수를 어떻게 계산합니까?

예: mysqld 프로세스의 경우:

[root@agent]# lsof -p $(pidof mariadbd) | awk '{print $9}' | sort | uniq  | wc -l
75
[root@agent]# ll /proc/$(pidof mariadbd)/fd | wc -l
39

보시다시피 두 값이 다릅니다. 왜?

답변1

/proc/PID/fd실제 열린 파일과 소켓만 포함됩니다.

lsof공유 라이브러리도 포함됩니다.

관련 정보