<p id="m2nkj"><option id="m2nkj"><big id="m2nkj"></big></option></p>
    <strong id="m2nkj"></strong>
    <ruby id="m2nkj"></ruby>

    <var id="m2nkj"></var>
  • 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)
    <p id="m2nkj"><option id="m2nkj"><big id="m2nkj"></big></option></p>
    <strong id="m2nkj"></strong>
    <ruby id="m2nkj"></ruby>

    <var id="m2nkj"></var>
  • 日本亚洲中文字幕 | 爱爱免费不卡视频 | 大香蕉网在线视频 | av超碰在线 | 成人美女视频在线观看18 | 成人网站十八禁 | 99热在线观看免费 | 日韩操逼图 | av先峰网婷婷五月天 | 成人AV影音 |