Linux 操作系統(tǒng)中nproc的值如何得出?

nproc hard的默認(rèn)值是如何得到的提澎?

一臺(tái)1C2G的RHEL6版本虛擬機(jī),用于制作虛擬機(jī)模板念链,在/etc/security/limits.d/90-nproc.conf修改了用戶nproc的soft值盼忌,如下:


image.png

該配置設(shè)置了root用戶的nproc的soft值為ulimited,其他用戶的nproc的soft值為10240掂墓。然而當(dāng)檢查每個(gè)用戶的nproc值的時(shí)候驚奇地發(fā)現(xiàn)用戶的nproc的hard和soft值均為7387谦纱,如下:


image.png

這個(gè)值很奇怪,用戶nproc的soft和hard值并不是10240君编,但是在其他主機(jī)上這個(gè)配置能夠達(dá)到預(yù)期的值跨嘉。經(jīng)過分析,上面的配置中由于并沒有設(shè)置用戶nproc的hard值吃嘿,導(dǎo)致用戶nproc的soft值受到hard值的限制祠乃,取不到預(yù)期的值,因此關(guān)鍵問題需要搞清楚hard值是由哪個(gè)因素決定的兑燥。推斷nproc的hard值是在內(nèi)核獲取到的亮瓷,所以翻看了內(nèi)核代碼,果然在內(nèi)核代碼fork.c中發(fā)現(xiàn)端倪:


image.png

其中mempages是物理內(nèi)存頁的個(gè)數(shù)降瞳,PAGE_SIZE(內(nèi)存頁大兄鲋А)為4K蚓胸,THREAD_SIZE(線程棧大小)x86平臺(tái)是16K除师,所以最后默認(rèn)的nproc值為:

default_nproc = max_threads/2

= MemTotal(KB) / 256(KB)

即默認(rèn)nproc大小取決于主機(jī)內(nèi)存大小沛膳。在筆者2G內(nèi)存(實(shí)際虛擬機(jī)內(nèi)存為1877M,Hypervisor管理虛擬機(jī)有內(nèi)存開銷)的虛擬機(jī)上汛聚,計(jì)算一下:

default_nproc = 1877*1024/256 = 7508

由于kernel會(huì)占用一部分的內(nèi)存锹安,實(shí)際的nproc(本例中為7387)要比計(jì)算值稍小一些。筆者的案例中僅僅設(shè)置了用戶nproc的soft值贞岭,所以用戶的nproc的soft值被限制在default_nproc八毯。因此上面例子中有兩種解決方法:

  1. 評(píng)估需求搓侄,用戶的nproc要是少于7387的話瞄桨,就降低;

  2. 在配置文件中讶踪,設(shè)置上用戶nproc的hard值為10240芯侥,通過提升hard值來滿足預(yù)期。

因此各位看官今后要根據(jù)主機(jī)內(nèi)存配置合理地設(shè)置用戶nproc的值乳讥。

linux max_threads參數(shù)計(jì)算

內(nèi)核threads線程數(shù)是一定的柱查,具體是跟機(jī)器內(nèi)存有關(guān)系
部分參數(shù)獲取方法
PAGE_SIZE:getconf PAGE_SIZE 單位byte 頁的大小 4096即4K
THREAD_SIZE:ulimit -s 8192 線程棧大小,以KB為單位云石,即8192K唉工,8M

額定具體計(jì)算如下
max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8

mempages是物理內(nèi)存頁的個(gè)數(shù);
mempages計(jì)算
mempages = 物理內(nèi)存大小 ÷ PAGE_SIZE

例如:32G理論內(nèi)存 實(shí)際查看只有 32174M
mempages = 32174 * 1024 * 1024/4*1024 = 8236544 物理內(nèi)存頁的個(gè)數(shù)

max_threads = 8236544/[(81024)/(41024)]/8 = 514784

因?yàn)闉榱吮WC每個(gè)用戶進(jìn)程總數(shù)不至于超過一半內(nèi)存fork_init()指定:
init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2;

即物理額定線程數(shù)為514784/2=257392
查看系統(tǒng)當(dāng)前最大線程數(shù)

cat /proc/sys/kernel/threads-max
252574
free -m
              total        used        free      shared  buff/cache   available
Mem:          31596       24180         317           3        7098        6869

31596(M)1024/4=8088576(頁數(shù))
理論最大線程=8088576(頁數(shù))/[(8
1024)/(4*1024)]/8=505536
實(shí)際上內(nèi)存不能都用來啟動(dòng)線程汹忠,所以實(shí)際最大線程是理論最大線程的1/2稍小一些(內(nèi)核運(yùn)行也會(huì)占用一些線程)
理論計(jì)算值 505536/2=252768
實(shí)際值 252574
鏈接:http://www.reibang.com/p/3726af3c9771

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淋硝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宽菜,更是在濱河造成了極大的恐慌谣膳,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铅乡,死亡現(xiàn)場(chǎng)離奇詭異继谚,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阵幸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門花履,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挚赊,你說我怎么就攤上這事诡壁。” “怎么了咬腕?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵欢峰,是天一觀的道長。 經(jīng)常有香客問我,道長纽帖,這世上最難降的妖魔是什么宠漩? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮懊直,結(jié)果婚禮上扒吁,老公的妹妹穿的比我還像新娘。我一直安慰自己室囊,他們只是感情好雕崩,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著融撞,像睡著了一般盼铁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尝偎,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天饶火,我揣著相機(jī)與錄音,去河邊找鬼致扯。 笑死肤寝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的抖僵。 我是一名探鬼主播鲤看,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼耍群!你這毒婦竟也來了义桂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤世吨,失蹤者是張志新(化名)和其女友劉穎澡刹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耘婚,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罢浇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沐祷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚷闭。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赖临,靈堂內(nèi)的尸體忽然破棺而出胞锰,到底是詐尸還是另有隱情,我是刑警寧澤兢榨,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布嗅榕,位于F島的核電站顺饮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏凌那。R本人自食惡果不足惜兼雄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帽蝶。 院中可真熱鬧赦肋,春花似錦、人聲如沸励稳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驹尼。三九已至趣避,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扶欣,已是汗流浹背鹅巍。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留料祠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓澎羞,卻偏偏與公主長得像髓绽,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妆绞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容