20、文件描述符

1 文件描述符概念

Linux 系統(tǒng)中,把一切都看做是文件,當(dāng)進(jìn)程打開現(xiàn)有文件或創(chuàng)建新文件時(shí),內(nèi)核向進(jìn)程返回一個(gè)文件描述符,文件描述符就是內(nèi)核為了高效管理已被打開的文件所創(chuàng)建的索引,用來指向被打開的文件,所有執(zhí)行I/O操作的系統(tǒng)調(diào)用都會(huì)通過文件描述符。

  • 每個(gè)文件描述符會(huì)與一個(gè)打開的文件相對(duì)應(yīng)
  • 不同的文件描述符也可能指向同一個(gè)文件
  • 相同的文件可以被不同的進(jìn)程打開,也可以在同一個(gè)進(jìn)程被多次打開

2 文件描述符表

進(jìn)程級(jí)文件描述符表 系統(tǒng)級(jí)文件描述符表
(open file table)
i-node表
記錄內(nèi)容 1.文件描述符
2.文件指針(open file handle)
1.當(dāng)前文件偏移量
2.狀態(tài)標(biāo)識(shí)
3.文件訪問模式(讀,寫,讀和寫)
4.對(duì)該文件i-node對(duì)象的引用
5.文件類型(常規(guī)文件、套接字、FIFO...)
6.訪問權(quán)限
7.一個(gè)指向該文件所持有的所有表的指針
8.文件的各種屬性
9.與信號(hào)驅(qū)動(dòng)相關(guān)的設(shè)置
1.文件類型
2.文件鎖

3 查看進(jìn)程文件描述符限制

cat /proc/pid號(hào)碼/limits


soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置值
hard 指的是系統(tǒng)中所能設(shè)定的最大值

ulimit -n

4 修改進(jìn)程文件描述符限制

用戶級(jí)限制
(只對(duì)通過PAM登錄的用戶有效,對(duì)systemd的service資源不生效)
系統(tǒng)級(jí)限制
查看 ulimit -n 1.sysctl -a | grep -i file-max
2.cat /proc/sys/fs/file-max
修改
(重啟失效)
ulimit -SHn 65535 1.sysctl -w fs.file-max=65535
2.echo 65535>/proc/sys/fs/file-max
修改
(永久生效)
修改配置文件:
/etc/security/limits.conf
最后一行加入:
* soft nofile 65535
* hard nofile 65535
修改配置文件:
/etc/sysctl.conf
在任意位置加入:
fs.file-max=65535
執(zhí)行(不執(zhí)行則不生效):
sysctl -p

對(duì)于nginx,修改/etc/security/limits.conf就可以,同時(shí)需要在nginx配置文件中修改worker_rlimit_nofile

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 概述 在Linux系統(tǒng)中一切皆可以看成是文件,文件又可分為:普通文件、目錄文件、鏈接文件和設(shè)備文件。文件描述...
    whit_py閱讀 1,028評(píng)論 0 0
  • 一些概念: 1.為了便于統(tǒng)一管理,系統(tǒng)將所有的輸入/輸出設(shè)備都視為文件,按文件方式提供給用戶使用,如目錄的檢索、權(quán)...
    yydounai閱讀 1,073評(píng)論 0 4
  • 背景 最近調(diào)試一款網(wǎng)關(guān)設(shè)備,它部署在客戶端和服務(wù)端之間。在工作時(shí),它同時(shí)接收來自客戶端的連接,同時(shí)又向服務(wù)端建立連...
    guotianqing閱讀 6,728評(píng)論 0 4
  • 內(nèi)核(kernel)利用文件描述符(file descriptor)來訪問文件。文件描述符是非負(fù)整數(shù)。打開現(xiàn)存文件...
    踩在浪花上00閱讀 840評(píng)論 0 1
  • 故事背景 看在分布式架構(gòu)的通信過程中,接觸到了netty,又通過netty接觸到了句柄和文件描述符,其實(shí)之前就有過...
    陽光丶不銹閱讀 9,747評(píng)論 0 11

友情鏈接更多精彩內(nèi)容