最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
沈阳市| 中方县| 马龙县| 大同市| 长海县| 新宾| 湾仔区| 浙江省| 杨浦区| 镇坪县| 商南县| 永德县| 靖宇县| 汝州市| 梁平县| 清河县| 怀远县| 江阴市| 武功县| 富宁县| 吴忠市| 蕉岭县| 会同县| 景德镇市| 吉木萨尔县| 久治县| 上虞市| 洛宁县| 湖南省| 习水县| 炉霍县| 吴川市| 安化县| 阿图什市| 获嘉县| 金堂县| 贵南县| 永宁县| 天门市| 府谷县| 肥东县|