配置Linux文件句柄數


查看句柄數

Linux操作系統中文件句柄數的限制默認是1024(一個進程最多可以接受1024個socket連接),在生產環境系統中這是遠遠不夠的,所以很多應用都需要解除文件句柄數的限制。

通過調用ulimit命令可以看到一個進程能夠打開的最大文件句柄數量:

ulimit -n

ulimit命令是用來顯示和修改當前用戶進程的基礎限制命令,-n選項用於引用或設置當前的文件句柄數量的限制值。

調整句柄數

對於高並發、高負載的應用,必須調整這個系統參數,以適應並發處理大量連接的應用場景。可以通過ulimit來設置這兩個參數,方法如下:

ulimit -n 65536

普通用戶通過ulimit命令可將軟性極限值更改到硬性極限值的最大設置值。如果要更改硬性極限值,必須擁有root用戶權限。

ulimit -SHn 65536

選項-S表示軟性極限值,-H表示硬性極限值。硬性極限值是實際的限制
軟性極限值則是系統發出警告(Warning)的極限值,超過這個極限值,內核會發出警告。

通過命令只能修改當前用戶環境的一些基礎限制,僅在當前用戶環境有效。一旦斷開用戶會話,或者說用戶退出Linux,它的數值就又變回系統默認的1024了。並且,系統重啟后,句柄數量會恢復為默認值。

配置句柄數

編輯Linux的極限配置文件/etc/security/limits.conf來做到。修改此文件,加入如下內容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

soft :軟性極限
hard:表示硬性極限
nofile : 一個進程最多能打開的的文件數
nproc : 一個用戶最多能創建的進程數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM