<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          too many open files 與進(jìn)程網(wǎng)絡(luò)連接數(shù)據(jù)查看

          共 1131字,需瀏覽 3分鐘

           ·

          2021-01-13 02:40

          先以redis為例解釋一下一個(gè)進(jìn)程運(yùn)行時(shí)它的網(wǎng)絡(luò)數(shù)據(jù)【其它網(wǎng)絡(luò)程序也是如此】

          1 redis-server 是個(gè)什么文件

          2 redis-server 運(yùn)行時(shí)能調(diào)用的函數(shù)庫(kù)

          3 redis-server 啟動(dòng)時(shí)

          4 運(yùn)行redis-servrer調(diào)用execve函數(shù)

          5 加載linux 的函數(shù)庫(kù)文件【當(dāng)然它會(huì)加載所有引入的函數(shù)庫(kù),只能只截圖一張】

          你可以清晰的看到它會(huì)讀取elf文件,因?yàn)楹瘮?shù)庫(kù)即.so它也是elf文件的一種。
          6 redis 進(jìn)程關(guān)系


          7 啟動(dòng)服務(wù)后,進(jìn)程創(chuàng)建/打開(kāi)了哪些文件【在linux中不管管道文件,socket文件,目錄,epoll函數(shù)創(chuàng)建的句柄他們都稱(chēng)為文件】

          PS:打印列出的COMMAND,PID,FD,USER,NAME啥意思?我怎么百度不到???在linux中你man lsof 就可以看到解釋了,小朋友



          8 進(jìn)程內(nèi)存數(shù)據(jù)查看

          9 進(jìn)程的內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)

          各個(gè)文件的含義

          網(wǎng)絡(luò)狀態(tài)st字段說(shuō)明

          10的十六進(jìn)制就是A

          監(jiān)聽(tīng)socket的相關(guān)狀態(tài)

          redis進(jìn)程使用監(jiān)聽(tīng)socket情況

          10 accept 后 【你們喜歡稱(chēng)為客戶(hù)端連接】客戶(hù)端的連接【文件】長(zhǎng)啥樣?




          它的連接狀態(tài)為ESTABLEISH =1 ,大家可以看一下相關(guān)資料即TCP狀態(tài)轉(zhuǎn)移與三次握手的關(guān)系,我就沒(méi)有必要在這里說(shuō)了。
          當(dāng)它接收到客戶(hù)端連接后,就會(huì)生成一個(gè)文件,并且該文件是有相應(yīng)的數(shù)據(jù)的,畢竟它只是一個(gè)網(wǎng)絡(luò)連接,如網(wǎng)絡(luò)狀態(tài),對(duì)端地址,對(duì)應(yīng)的node結(jié)點(diǎn)等數(shù)據(jù),以及收發(fā)相關(guān)的緩沖區(qū),

          11 進(jìn)程啟動(dòng)后在做什么

          進(jìn)程運(yùn)行后能創(chuàng)建多少個(gè)文件【它能支持多少個(gè)客戶(hù)端連接】

          一般來(lái)說(shuō)程序會(huì)動(dòng)態(tài)的修改進(jìn)程資源限制【如setrlimit函數(shù)調(diào)用后可進(jìn)行修改,php就是posix_setrlimit】

          下面拿php網(wǎng)絡(luò)程序【跟語(yǔ)言沒(méi)有關(guān)系】測(cè)試

          它已經(jīng)創(chuàng)建的文件

          當(dāng)我修改open files 為6時(shí),啟動(dòng)

          此時(shí)它已經(jīng)影響到bash進(jìn)程了。

          再調(diào)整參數(shù)


          大家可以看到,當(dāng)我設(shè)置為5后,它就不能再創(chuàng)建更多的文件了【socket 網(wǎng)絡(luò)連接accept函數(shù)調(diào)用時(shí)會(huì)創(chuàng)建文件并返回fd】
          產(chǎn)生too open many fiels的錯(cuò)誤[除了系統(tǒng)的限制之外,當(dāng)系統(tǒng)資源緊張時(shí)也有可能產(chǎn)生此類(lèi)問(wèn)題,導(dǎo)致的結(jié)果就是無(wú)法再接收更多的客戶(hù)端連接,而這個(gè)客戶(hù)端連接只是一個(gè)網(wǎng)絡(luò)連接socket文件]

          除了這些因素,還有Linux的相關(guān)配置參數(shù),file-max,ulimit,open files。


          瀏覽 97
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  可以看的免费黄色电影 | 先锋影音色色 | 天堂综合网 | 亚洲AV无码AV制服另类专区 | 亚洲视频在线观看者 |