講講 Linux 下的一些資源限制
關(guān)注「開源Linux」,選擇“設(shè)為星標(biāo)” 回復(fù)「學(xué)習(xí)」,有我為您特別篩選的學(xué)習(xí)資料~
原文地址:https://adlternative.github.io/resource-limit/
前言

用戶層面資源限制
-----------------------------------------------------
該文件為通過PAM登錄的用戶設(shè)置資源限制。
它不會影響系統(tǒng)服務(wù)的資源限制。
-----------------------------------------------------
所以 ulimit 的確是觀察用戶層面的資源限制。
我們可以通過 ulimit -a 查看我們所有的資源上限:

只說其中我們比較關(guān)注的那些:
-s 棧大小:8MB
-u 進(jìn)程上限:30000多
-n 文件描述符上限:1024

實(shí)驗(yàn)1. 修改文件描述符上限
在/etc/security/limits.conf中添加以下片段:

重啟后,然后查看一下資源是否真的被修改了:



實(shí)驗(yàn)2. 修改??臻g上限
同樣還是在/etc/security/limits.conf添加這樣兩句:




系統(tǒng)層面資源限制
單個進(jìn)程打開文件句柄數(shù)上限 最大文件描述符數(shù) 10億。

系統(tǒng)分配的pid上限是400多萬。

file-max是在內(nèi)核級別強(qiáng)制執(zhí)行的最大文件描述符(FD),上限600萬。

已分配的文件文件描述符數(shù),已分配但未使用的文件描述符數(shù)以及最大文件描述符數(shù)(不可調(diào))。

系統(tǒng)全局的總線程數(shù)限制為6萬。

單個程序所能使用內(nèi)存映射空間的數(shù)量為6萬。

可以創(chuàng)建的線程的總數(shù)和這些有關(guān):

一個進(jìn)程的資源限制

redis中文件描述符上限的調(diào)整
Increased maximum number of open files to 10032 (it was originally set to 1024).
其源碼中也不過是調(diào)用了api:
setrlimit(RLIMIT_NOFILE,&limit)
去進(jìn)行了資源上限的臨時調(diào)整,此處不細(xì)講。
prlimit
最后介紹另外一個類似ulimit的命令prlimit:

結(jié)語
往期推薦
關(guān)注「開源Linux」加星標(biāo),提升IT技能



