1. 程式人生 > >file-max與ulimit的關係與差別

file-max與ulimit的關係與差別

1. file-max的含義

man proc,可得到file-max的描述:

/proc/sys/fs/file-max
              This  file defines a system-wide limit on the number of open files for all processes.  (See
              also setrlimit(2),  which  can  be  used  by  a  process  to  set  the  per-process  limit,
              RLIMIT_NOFILE,  on  the  number  of  files it may open.)  If you get lots of error messages
              about running out of file handles, try increasing this value:

即file-max是設定

 系統所有程序一共可以開啟的檔案數量 。同時一些程式可以通過setrlimit呼叫,設定每個程序的限制。如果得到大量使用完檔案控制代碼的錯誤資訊,是應該增加這個值。

也就是說,這項引數是系統級別的。

echo  6553560 > /proc/sys/fs/file-max

或修改 /etc/sysctl.conf, 加入

fs.file-max = 6553560 重啟生效

[System-wide File Descriptors (FD) Limits

The number of concurrently open file descriptors throughout the system can be changed via /etc/sysctl.conf file under Linux operating systems.]

2. ulimit的

Provides control over the resources available to the shell and to processes started by it, on systems that allow  such control.

即設定當前shell以及由它啟動的程序的資源限制。

顯然,對伺服器來說,file-max, ulimit都需要設定,否則就可能出現檔案描述符用盡的問題,為了讓機器在重啟之後仍然有效,強烈建立作以下配置,以確保file-max, ulimit的值正確無誤:

1. 修改/etc/sysctl.conf, 加入

fs.file-max = 6553560

2.系統預設的ulimit對檔案開啟數量的限制是1024,修改/etc/security/limits.conf並加入以下配置,永久生效

* soft nofile 65535 
* hard nofile 65535

3.nr_open是單個程序可分配的最大檔案數,所以在使用ulimit或limits.conf來設定時,如果要超過預設的1048576值時需要先增大nr_open值(sysctl -w fs.nr_open=100000000或者直接寫入sysctl.conf檔案)
nr_open:
This denotes the maximum number of file-handles a process can
allocate. Default value is 1024*1024 (1048576) which should be
enough for most machines. Actual limit depends on RLIMIT_NOFILE
resource limit.

修改完之後,重啟即可生效

[User Level FD Limits

The above procedure sets system-wide file descriptors (FD) limits. However, you can limit httpd (or any other users) user to specific limits by editing /etc/security/limits.conf file]

3,nofile的最大值就是nr_open的值,預設是1024*1024

/etc/security/limits.conf nofile absolute maximum
Apparently unlimited != unlimited in the Linux kernel for maximum number of open files. After some extensive digging, I finally found the actual maximum to the nofile setting in /etc/security/limits.conf. Yes I was searching in the context of Oracle (Imagine that) for a maximum number of procs / files. The Linux kernel has a hard upper limit of 1024*1024 (1048576 – a magical number I won’t soon forget).


Consider the following:


[[email protected] ~]# grep mrsmith /etc/security/limits.conf
mrsmith     soft    nofile      unlimited   
mrsmith     hard    nofile      unlimited
Trying to su to mrsmith suddenly casts you aside:


[[email protected] ~]# su - mrsmith
could not open session
Displaying the open file setting for mrsmith shows something odd:


[[email protected] ~]# ulimit -au mrsmith
...
open files                      (-n) 1024
Why would our number of open files be 1024? This apparently is the default setting for users without a custom nofile set based on the following bugzilla.


Then what is our actual upper bound for nofile in /etc/security/limits.conf? This isn’t well documented anywhere I’ve seen, but based on some research it appears to be 1024*1024. Setting nofile to 1048577 produces the same “could not open session” error as mentioned previously. 1048576 however seems to work just fine. Although you can set your nofile ulimit to this, the effects of such are unknown and I would highly recommend testing any such setting.

相關推薦

file-maxulimit關係差別

1. file-max的含義 man proc,可得到file-max的描述: /proc/sys/fs/file-max               This  file defines a system-wide limit on the number of op

event.currentTargetevent.target的差別介紹

ner ole ren 翻譯 class 元素 eve jquery jquer event.currentTarget與event.target的差別想大家在使用的時候不是非常在意。本文以測試代碼來解說它門之間的不同。即,event.currentTarget指向事件

arp免費arp的差別,arp老化

rgb 普通 spa 主備 data- 報文 新的 刷新 利用 免費arp:應用場景: case1:PC通過DHCP申請地址。在獲取到IP地址後,會發送免費ARP,目的用於探測同一網段時候存在同樣的IP地址終端,防止IP沖突。 case2:PC的MAC地址發生變化

android:padding android:margin的差別

track line trac andro 邊框 pop col ack ria android:padding Padding 為內邊框,指該控件內部內容,如文本/圖片距離該控件的邊距 android:margin Margin 為外邊框,指該控件距離邊

mysql int(m)int(m)的差別

data bool adding lec 數據庫 lean 沒有 art same 預計大多數開始接觸mysql的朋友們都會有這個問題:int(M) 裏面的數值究竟是什麽意思? 依據相關資料總結了下: int(M) zerofill,加上zerofill後M

正向代理反向代理的差別

一個 域名 markdown 他能 mar ext internet down client 本文轉載自 : 正向代理與反向代理的差別 一、正向代理的概念   正向代理,也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問

人之間的差別

諾貝爾 學習能力 思考 年輕 界定 ron 長大 領導人 其他人 問題: 俞老師好,人與人之間的差距是怎麽拉開的?每個人都有一個頭腦,兩只手、兩條腿,但隨著時間的推移,即使是同一個社會層次,在同一個學校讀書的人,最後的距離都會拉得越來越大,有的人走向平庸,有的人則不斷走向成

Androidproject文件下assets目錄res目錄的差別

ava xxx 字體 打包 必須 app hid 操作 asc 1. assets : 不會在R.java文件下生成對應的標記,assets目錄能夠自己創建目錄,必須使用AssetsManager類進行訪問,存放到這裏的資源在執行打包的時候都會打入程序安

JAVAC++,CC++的差別

-m content 才幹 hit 沒有 span 自增 ng- data- 首先來分析JAVA與C++的差別: JAVA是純面向對象的語言,而C++是基於面向對象過程的語言。 JAVA有著垃圾回收機制。它的語法是C+&#

制造業新版ERP系統舊版erp差別在哪?

流轉 決策 由於 物料 全部 ron 操作 bsp 批量操作 隨著智能時代到來,以智能制造為主導的工業4.0,為制造企業描繪了一副全新藍圖,數字化、網絡化、智能化成為生產制造的發展趨勢,向智能管理轉型升級,成為傳統企業必由之路。在這樣一個時代更替的轉折點,專註企業信

python2 python3的print 差別

sky linux format python2 int orm 成了 edit lin 2.x中的print不是個函數,輸出格式如下 1 Python 2.7.12+ (default, Aug 4 2016, 20:04:34) 2 [GCC 6.1.1 201607

Oracle:事務關係

事務與鎖是不同的。 事務具有ACID( 原子性、一致性、隔離性和永續性),鎖是用於解決隔離性的一種機制。 事務的隔離級別通過鎖的機制來實現。 另外鎖有不同的粒度,同時事務也是有不同的隔離級別的 (一般有四種:讀未提交Read uncommitted, 讀已提交Read committ

Hibernate_day03---表關係建立、一對多配置及操作、多對多配置及操作

一、表與表關係建立思路 一對多關係 關係舉例: (1)分類和商品關係。 一個分類裡面有多個商品,一個商品只能屬於一個分類 (2)公司和員工關係 一個公司有多個員工,每個員工屬於一個公司 一對多建表:通過外來鍵建立關係 圖示: 多對多關係 關係舉例

淺析html+css+javascript之間的關係作用 三者間的關係

淺析html+css+javascript之間的關係與作用 三者間的關係 一個基本的網站包含很多個網頁,一個網頁由html, css和javascript組成。 html是主體,裝載各種dom元素;css用來裝飾dom元素;javascript控制dom元素。

VOC資料集顏色對應關係程式碼

VOC顏色和分類的對於關係:       code: def voc_colormap(N=256): def bitget(val, idx): return ((val & (1 << idx)) != 0)

關係資料庫關係資料庫的區別

當前主流的關係型資料庫有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 非關係型資料庫有 NoSql、Cloudant。 nosql和關係型資料庫比較? 優點: 1)成本:nosql資料庫簡單易部署,基本都是

HisTVOS關係

關係     社群開發分支由廣科院負責,主要是通過Gerrit作為媒介。SPC010是his在TVOS穩定的tag上的修改,單獨分離出補丁檔案給到客戶開發分支進行專案開發,再把開原始碼貢獻到TVOS的主線分支。 TVOS下載     需向廣科

BZOJ 4390 [Usaco2015 dec] Max Flow【LCA樹上差分】

樹上差分板子: #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define db

類之間的關係匿名內部類的使用,異常的處理

final關鍵字 修飾類, 表示最終類,不能被繼承 修飾成員變數(欄位), 一般與static同時使用, 稱為final常量 ,在定義時必須初始化,不能修改 修飾方法, 不能被重寫 修飾區域性變數, 一旦初始化後就不能再修改. 注意,如果修飾的是引用型別變數,這個引用不能再指向其他

Spring(概念篇):Spring、SpringMVC、SpringBoot以及SpringCloud的概念、關係區別(詳解)

Spring與Spring MVC Spring Spring是一個一站式的輕量級的Java開發框架 Spring是一個一站式的輕量級的Java開發框架,核心是控制反轉(IOC)和麵向切面(AOP),針對於開發的WEB層(SpringMVC)、業務層(IOC)、持久層(jdbc Te