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
공유 라이브러리도 포함됩니다.