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
ご覧のとおり、2つの値が異なります。なぜ?
答え1
/proc/PID/fd
実際に開いたファイルとソケットのみが含まれています。
lsof
共有ライブラリも含まれます。