Linux中的錯誤:too many open files

來源:互聯網
上載者:User

這個問題的出現原因是system對程式開啟files數量的限制問題。

用 ulimit -a 命令可以查看

可以看出,對open files的限制數是1024,我們可以通過修改這個值來增加可以開啟的檔案數。

******************************************************************

臨時修改:

將其改為2048,用 ulimit -n 2048.

當你把open files的值增大到一定程度,你的Too many open files就不會再出現了。

******************************************************************

若要 長久 改變這兩個參數值,就要修改/ect/security/limits.conf,在檔案中加上兩行:

* - nofile 65535

* - nproc 65535

註:這行設定了每個使用者的預設開啟檔案數為2048。 注意"nofile"項有兩個可能的限制措施。就是<type>項下的hard和soft。 要使修改過得最大開啟檔案數生效,必須對這兩種限制進行設定。 如果使用"-"字元設定<type>, 則hard和soft設定會同時被設定。

硬限制表明soft限制中所能設定的最大值。 soft限制指的是當前系統生效的設定值。 hard限制值可以被普通使用者降低。但是不能增加。 soft限制不能設定的比hard限制更高。 只有root使用者才能夠增加hard限制值。

當增加檔案限制描述,可以簡單的把當前值雙倍。 例子如下, 如果你要提高預設值1024, 最好提高到2048, 如果還要繼續增加, 就需要設定成4096。

最後用ulimit -a再次查看,open files的值,沒什麼問題的話,就已經改過來了。

******************************************************************

-------------------------------------------------------------

經過以上設定,退出shell再次登入,還是不生效,來點絕的

到//etc/profile下,加入一行ulimit -SHn 51200 (注意裡面已經有一條關於ulimit的設定)

到rc.local下,加入一行 ulimit -SHn 51200 (不知這條有沒有必要,其實我還沒加)

詳見 :

ulimit -S -c 0 > /dev/null 2>&1

這條語句設定了對軟體資源和對core檔案大小的設定

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.