too many open files 與進程網絡連接數據查看

2021-03-02 PHP開源Hub

先以redis為例解釋一下一個進程運行時它的網絡數據【其它網絡程序也是如此】

1 redis-server 是個什麼文件

2 redis-server 運行時能調用的函數庫

3 redis-server 啟動時

4 運行redis-servrer調用execve函數

5 加載linux 的函數庫文件【當然它會加載所有引入的函數庫,只能只截圖一張】

你可以清晰的看到它會讀取elf文件,因為函數庫即.so它也是elf文件的一種。
6 redis 進程關係


7 啟動服務後,進程創建/打開了哪些文件【在linux中不管管道文件,socket文件,目錄,epoll函數創建的句柄他們都稱為文件】

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



8 進程內存數據查看

9 進程的內部網絡數據

各個文件的含義

網絡狀態st欄位說明

10的十六進位就是A

監聽socket的相關狀態

redis進程使用監聽socket情況

10 accept 後 【你們喜歡稱為客戶端連接】客戶端的連接【文件】長啥樣?




它的連接狀態為ESTABLEISH =1 ,大家可以看一下相關資料即TCP狀態轉移與三次握手的關係,我就沒有必要在這裡說了。
當它接收到客戶端連接後,就會生成一個文件,並且該文件是有相應的數據的,畢竟它只是一個網絡連接,如網絡狀態,對端地址,對應的node結點等數據,以及收發相關的緩衝區,

11 進程啟動後在做什麼

進程運行後能創建多少個文件【它能支持多少個客戶端連接】

一般來說程序會動態的修改進程資源限制【如setrlimit函數調用後可進行修改,php就是posix_setrlimit】

下面拿php網絡程序【跟語言沒有關係】測試

它已經創建的文件

當我修改open files 為6時,啟動

此時它已經影響到bash進程了。

再調整參數


大家可以看到,當我設置為5後,它就不能再創建更多的文件了【socket 網絡連接accept函數調用時會創建文件並返回fd】
產生too open many fiels的錯誤[除了系統的限制之外,當系統資源緊張時也有可能產生此類問題,導致的結果就是無法再接收更多的客戶端連接,而這個客戶端連接只是一個網絡連接socket文件]

除了這些因素,還有Linux的相關配置參數,file-max,ulimit,open files。

相關焦點

  • 定位"too many open files"問題
    "too many open files"意味著當前進程用完了所有的文件描述符。本文簡要描述如何處理這種問題。
  • MySQL 變量及性能狀態查看知識技巧
    現在大家對MySQL的監控通常有兩種做法,一是連接到mysql資料庫內部,使用show status,show variables,flush status 來查看mysql的各種性能指標;二是直接使用mysqladmin查看其性能指標。
  • 辨析:too much,too many與much too
    too much①形容詞性短語,中心詞是 much, 常作定語,修飾不可數名詞。②副詞性短語,用來作狀語,修飾動詞。too manytoo many意為"太多", 用來修飾可數名詞複數。much toomuch too意為"太···. . . ", 副詞性短語,中心詞是too, 相當於very, 修飾形容詞或副詞。e.g. 1.Some people watch too muchTV.
  • much too, too much,too many之辨析
    今天給大家分享much too, too much和too many的用法辨析。這組詞義和用法辨析在中考題中是高頻考點。現在快跟著我學起來吧!Come on, you can make it! much too:「太,太過於」 。關鍵詞為too,修飾形容詞/副詞。This dish is much too salty.
  • much too, too much和too many的用法辨析
    今天給大家分享much too, too much和too many的用法辨析。這組詞義和用法辨析在中考題中是高頻考點。現在快跟著我學起來吧!Come on, you can make it!much too:「太,太過於」 。關鍵詞為too,修飾形容詞/副詞。
  • too much, too many,much too的區別和練習
    1.too much+不可數名詞例:Don’t use too much ice. 不要加太多冰塊。 2.too many +可數名詞複數  例:They built too many buildings last year.去年他們建了許多樓房。
  • 語法學習: too much;much too;too many的區別和用法
    too much;much too;too many的區別和用法 一、too much:「太多....」 ①too much+不可數名詞I'm afraid that I've given you too much trouble.
  • 初二英語語法大全:too many,too much與much too
    新東方網>英語>英語學習>語法詞彙>語法指導>正文初二英語語法大全:too many,too much與much too 2015-04-03 09:23 來源:英語網 作者:
  • too much,too many,much too都表「太多」,用法不一樣
    之前講過much和many的區別,much修飾不可數名詞,many修飾可數名詞複數,同理,加too也是這樣的用法。但much too又是怎麼回事呢?一起來了解一下吧。No.1 too much 太多 過分和much用法相同,都修飾不可數名詞,除了太多意思外,還有過分的意思。Linda has too much homework on sunday.琳達周日作業太多。
  • 《lol手遊》Weve let too many poros in如何解決 Weve let too...
    導 讀 lol手遊Weve let too many poros in這個錯誤該如何解決,相信很多玩家都在詢問
  • 英語短語辨析too much,much too和too many的區別比較
    too much,much too和too many是初中和高中的重點短語,我們必須要掌握它們的用法。much too,too muchtoo much意思是「太多」,修飾不可數名詞,置於名詞前;too much也可修飾動詞,放在動詞後。
  • 【BBC英語】Too Much+不可數/Too many +可數
    Wei: Yes, I didn’t finish work until 9.00pm. Wei: 是的,我一直幹到晚上9點鐘。 Sue: 9.00! Sue: 9點鐘! Wei: Yes, I have too much work to do at the moment. Wei: 是啊,眼下我手裡的活兒太多。
  • 英語中too many、too much、much too的用法有啥區別?一招搞定
    一、too是啥意思?有啥用法?在跟大家講too many、too much、much too的用法之前,有必要先講下too這一單詞的內涵。too的意思是"太;也;非常"。例:There are too many people in the shopping centre.購物中心有太多的人。二、many、much有何區別呀?
  • 「初中英語知識拾零」巧辯too much、much too和too many
    too much 、much too、too many三個短語長得很像,很容易混淆,如何進行區分呢?這三個短語區分主要從漢語意思、所能修飾的詞以及是否能夠單獨使用三個方面來區分。2、too many漢語意思:太多不可以單獨使用,使用時後面必須加可數名詞複數如:There are too many people in the supermarket
  • 英語too, much, many 自由組合怎麼辨?
    too many:太多,修飾可數名詞複數(many 修飾可數名詞複數)。e.g.①I have too much homework to do.我有太多的作業要做。②中的animal為可數名詞,因此要用too many 修飾。第二辨:too much後接不可數名詞。
  • Too much,Too many只有一個區別,別再混用了!
    Too much後面跟【不可數名詞】Too many後面跟【可數名詞】簡單來說,【可數名詞】是名詞後可以加「s」,Cats, Eyes, Hamburgers…【不可數名詞】是指非常小的事物,Rice, Sugar, Salt…或液體:Beer...
  • 教你DOS查看網絡連接打開埠和服務與電腦文件
    hi大家好 這篇經驗主要介紹了如何在DOS下查看系統網絡連接打開埠、打開的服務與電腦文件 【1】DOS查看系統網絡連接打開埠、打開的服務問題解決:在我的電腦鍵盤上 同時按下開始和R鍵輸入cmdDOS查看系統網絡連接打開埠 使用    netstat 命令,可以查看系統打開的埠點擊確定進入到命令窗輸入
  • Weve let too many poros in什麼意思?
    Weve let too many poros in什麼意思?時間:2020-10-29 23:17   來源:今日頭條   責任編輯:毛青青 川北在線核心提示:原標題:Weve let too many poros in什麼意思? Weve let too many poros in什麼意思?