五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Linux內(nèi)核 -- vm內(nèi)存相關(guān)參數(shù)

2022-02-15 11:33 作者:Vecloud_  | 我要投稿


查看方式:

1、sysctl -a

2、cat /proc/sys/vm/overcommit_memory

一、overcommit_memory

內(nèi)核源碼中的介紹:

This value contains a flag that enables memory overcommitment.

When this flag is 0, the kernel attempts to estimate(估算) the amount

of free memory left when userspace requests more memory.

When this flag is 1, the kernel pretends there is always enough

memory until it actually runs out.

When this flag is 2, the kernel uses a "never overcommit"

policy that attempts to prevent any overcommit of memory.

This feature can be very useful because there are a lot of

programs that malloc() huge amounts of memory "just-in-case"

and don't use much of it.

The default value is 0.

文件指定了內(nèi)核針對(duì)內(nèi)存分配的策略,其值可以是0、1、2? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

0: (默認(rèn))表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應(yīng)用進(jìn)程使用;如果有足夠的可用內(nèi)存,內(nèi)存申請(qǐng)?jiān)试S;否則,內(nèi)存申請(qǐng)失敗,并把錯(cuò)誤返回給應(yīng)用進(jìn)程。0 即是啟發(fā)式的overcommitting handle,會(huì)盡量減少swap的使用,root可以分配比一般用戶(hù)略多的內(nèi)存

1: 表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當(dāng)前的內(nèi)存狀態(tài)如何,允許超過(guò)CommitLimit,直至內(nèi)存用完為止。在數(shù)據(jù)庫(kù)服務(wù)器上不建議設(shè)置為1,從而盡量避免使用swap.

2: 表示不允許超過(guò)CommitLimit值

二、vm.overcommit_ratio

默認(rèn)值為:50 (即50%)

這個(gè)參數(shù)值只有在vm.overcommit_memory=2的情況下,這個(gè)參數(shù)才會(huì)生效。

執(zhí)行g(shù)rep -i commit? /proc/meminfo

看到CommitLimit和Committed_As參數(shù)。

CommitLimit是一個(gè)內(nèi)存分配上限,CommitLimit = 物理內(nèi)存 * overcommit_ratio(默認(rèn)50,即50%) + swap大小

Committed_As是已經(jīng)分配的內(nèi)存大小。

一般情況:

情況①

overcomot_memory = 0,vm.overcommit_ratio = 50 ----->? max_num malloc size = 7.137890GB

情況②

overcomot_memory = 2 ,vm.overcommit_ratio = 50 ----->? max_num malloc size = 3.958923GB

情況③

overcomot_memory = 2 ,vm.overcommit_ratio = 99 ----->? max_nummalloc size = 6.722099 GB

三、vm.min_free_kbytes

cat? /proc/sys/vm/min_free_kbytes? ? ? ? centos6.4默認(rèn)66M

67584

該文件表示強(qiáng)制Linux VM最低保留多少空閑內(nèi)存(Kbytes)。

當(dāng)可用內(nèi)存低于這個(gè)參數(shù)時(shí),系統(tǒng)開(kāi)始回收cache內(nèi)存,以釋放內(nèi)存,直到可用內(nèi)存大于這個(gè)值。

vm.vfs_cache_pressure

該項(xiàng)表示內(nèi)核回收用于directory和inode cache內(nèi)存的傾向:

缺省值100表示內(nèi)核將根據(jù)pagecache和swapcache,把directory和inode cache保持在一個(gè)合理的百分比

降低該值低于100,將導(dǎo)致內(nèi)核傾向于保留directory和inode cache

增加該值超過(guò)100,將導(dǎo)致內(nèi)核傾向于回收directory和inode cache。

vm.dirty_background_ratio? ?默認(rèn)為10

所有全局系統(tǒng)進(jìn)程的臟頁(yè)數(shù)量達(dá)到系統(tǒng)總內(nèi)存的多大比例后,就會(huì)觸發(fā)pdflush/flush/kdmflush等后臺(tái)回寫(xiě)進(jìn)程運(yùn)行。

將vm.dirty_background_ratio設(shè)置為5-10,將vm.dirty_ratio設(shè)置為它的兩倍左右,以確保能持續(xù)將臟數(shù)據(jù)刷新到磁盤(pán),避免瞬間I/O寫(xiě),產(chǎn)生嚴(yán)重等待(和MySQL中的innodb_max_dirty_pages_pct類(lèi)似)

vm.dirty_ratio? ?默認(rèn)為20

單個(gè)進(jìn)程的臟頁(yè)數(shù)量達(dá)到系統(tǒng)總內(nèi)存的多大比例后,就會(huì)觸發(fā)pdflush/flush/kdmflush等后臺(tái)回寫(xiě)進(jìn)程運(yùn)行。

vm.panic_on_oom? ? 默認(rèn)為0開(kāi)啟? ? 為1時(shí)表示關(guān)閉此功能

等于0時(shí),表示當(dāng)內(nèi)存耗盡時(shí),內(nèi)核會(huì)觸發(fā)OOM~~~~ killer殺掉最耗內(nèi)存的進(jìn)程。

當(dāng)OOM Killer被啟動(dòng)時(shí),通過(guò)觀察進(jìn)程自動(dòng)計(jì)算得出各當(dāng)前進(jìn)程的得分 /proc/<PID>/oom_score,分值越高越容易被kill掉。

而且計(jì)算分值時(shí)主要參照 /proc/<PID>/oom_adj ,? oom_adj 取值范圍從-17到15,當(dāng)?shù)扔?17時(shí)表示在任何時(shí)候此進(jìn)程都不會(huì)被 oom killer kill掉(適用于mysql)。

/proc/[pid]/oom_adj ,該pid進(jìn)程被oom killer殺掉的權(quán)重,介于 [-17,15]之間,越高的權(quán)重,意味著更可能被oom killer選中,-17表示禁止被kill掉。

/proc/[pid]/oom_score,當(dāng)前該pid進(jìn)程的被kill的分?jǐn)?shù),越高的分?jǐn)?shù)意味著越可能被kill,這個(gè)數(shù)值是根據(jù)oom_adj運(yùn)算后的結(jié)果,是oom_killer的主要參考。

sysctl 下有2個(gè)可配置選項(xiàng):

vm.panic_on_oom = 0? ? ? ? ? ? ? ? ? ? ? #內(nèi)存不夠時(shí)內(nèi)核是否直接panic? ? ? ? ? ? ? ??

vm.oom_kill_allocating_task = 1? ? ? ?#oom-killer是否選擇當(dāng)前正在申請(qǐng)內(nèi)存的進(jìn)程進(jìn)行kill

了解更多相關(guān)內(nèi)容歡迎關(guān)注http://www.vecloud.com/

Linux內(nèi)核 -- vm內(nèi)存相關(guān)參數(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南岸区| 石家庄市| 南京市| 德化县| 淮安市| 南丹县| 松桃| 通渭县| 泽库县| 庆阳市| 永和县| 兴和县| 侯马市| 琼结县| 华蓥市| 丹巴县| 丰顺县| 防城港市| 怀集县| 湘潭县| 渝北区| 万年县| 巴彦淖尔市| 延庆县| 杭州市| 石阡县| 五寨县| 长宁县| 于都县| 胶州市| 望都县| 台湾省| 大关县| 无锡市| 新丰县| 黄冈市| 乾安县| 枣强县| 龙山县| 阳谷县| 定南县|