成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

玩轉(zhuǎn)KVM:聊聊KSM內(nèi)存合并

云計算 虛擬化
共享內(nèi)存的概念在現(xiàn)代操作系統(tǒng)中很常用了,比如,一個程序啟動時會與父進(jìn)程共用它的全部內(nèi)存。

KVM的KSM技術(shù)介紹

共享內(nèi)存的概念在現(xiàn)代操作系統(tǒng)中很常用了,比如,一個程序啟動時會與父進(jìn)程共用它的全部內(nèi)存。但子或父進(jìn)程需要修改共享內(nèi)存的時候,linux便再分配新內(nèi)存,然后copy原區(qū)域內(nèi)容到新內(nèi)存。這個過程就叫copy on write。

[[270384]]

而KSM是linux的新屬性,它做的東西剛好與共享內(nèi)存相反。 當(dāng)linux啟用了KSM之后,KSM會檢查多個運(yùn)行中的進(jìn)程,并比對它們的內(nèi)存。如果任何區(qū)域或者分頁是一樣的,KSM就會毫不猶豫地合并他們成一個分頁。 那么新分頁也是被標(biāo)記成copy on write。如果VM要修改內(nèi)存的話,那么linux就會分配新的內(nèi)存給這個VM。

KSM技術(shù)應(yīng)用場景

了解了KSM技術(shù)后,覺得KSM可以在KVM大有作為哦。

優(yōu)點(diǎn):

a. 一個VM啟動,則只繼承了父進(jìn)程(qemu-kvm)的內(nèi)存。一臺VM的內(nèi)存,可以讓相同操作系統(tǒng)或者運(yùn)行相同應(yīng)用的VM共享。

b. 當(dāng)開啟了KSM,常用的進(jìn)程數(shù)據(jù)存在緩存和主內(nèi)存中。這樣可以減少VM的緩存未***,同時也提高了VM性能。

c. 共享內(nèi)存降低了VM的總體內(nèi)存使用率,從而允許更高的密度和更大的資源利用率。

當(dāng)然每種技術(shù)都有局限性的,不同場景下,它的缺點(diǎn)也暴露無疑。

a. 利用KSM使內(nèi)存超用。這會導(dǎo)致消耗一定的計算資源用于內(nèi)存掃描,加重了CPU的消耗。內(nèi)存超用,使得頻繁地使用swap交互,導(dǎo)致VM性能下降。

b. KSM使用了邊通道(side channels),可能存在泄露客戶信息的潛在風(fēng)險。為此就要考慮在VM上關(guān)閉KSM。

所以總結(jié)一下應(yīng)用的場景:

a. 生產(chǎn)環(huán)境慎用,應(yīng)急時可開啟。

b. 測試環(huán)境建議使用。

c. 桌面虛擬化環(huán)境建議使用,但要注意內(nèi)存使用情況。

KSM技術(shù)實(shí)踐

Linux的2.6.32 內(nèi)核中新增了 KSM(Kernel Samepage Merging),在CentOS 6和Fedora 16中,KSM默認(rèn)是打開的。而debian和ubuntu默認(rèn)是沒有這個服務(wù)的。 KSM通過兩個服務(wù):ksmd和ksmtuned實(shí)現(xiàn),管理員應(yīng)該判斷他們的環(huán)境并決定保持KSM處于運(yùn)行狀態(tài)還是關(guān)閉它。

1. 對centos6系統(tǒng)來說,在沒有開啟KSM時就能夠滿足虛擬機(jī)的內(nèi)存需求,那么***關(guān)閉KSM。關(guān)閉的方法如下:

  1. chkconfig ksmd off 
  2. chkconfig ksmtuned off 
  3. service ksmd off 
  4. service ksmtuned off 

2. 而ubuntu默認(rèn)沒有KSM服務(wù), 如果需要使用則安裝ksmtuned服務(wù)

  1. sudo apt-get install ksmtuned 
  2. service ksmtuned start 

3. 查看KSM運(yùn)行情況

在/sys/kernel/mm/ksm目錄下,

pages_to_scan: ksmd睡眠前需要掃描多少分頁(默認(rèn)是100)。

sleep_millisecs :文件定義執(zhí)行另一次頁面掃描前 ksmd 休眠的毫秒數(shù)。

max_kernel_pages :文件定義 ksmd 可以使用的***頁面數(shù)(默認(rèn)值是可用內(nèi)存的 25%,但可以寫入一個 0 來指定為***)。

pages_to_scan :文件定義一次給定掃描中可以掃描的頁面數(shù)。任何用戶都可以查看。這些文件,但是用戶必須擁有根權(quán)限才能修改它們。

full_scans :文件表明已經(jīng)執(zhí)行的全區(qū)域掃描的次數(shù)。

pages_shared:KSM 正在使用的不可交換的內(nèi)核頁面的數(shù)量。

pages_sharing:一個內(nèi)存存儲指示。 多少節(jié)點(diǎn)被共享并且多少被保存。

pages_unshared:為合并而重復(fù)檢查的惟一頁面的數(shù)量。

pages_volatile:頻繁改變的頁面的數(shù)量。

max_page_sharing: 每個分頁能運(yùn)行共享的次數(shù)。

merge_across_nodes: 是否指定多個numa節(jié)點(diǎn)的內(nèi)存進(jìn)行合并。

run :設(shè)置ksm屬性的狀態(tài)。

use_zero_pages : 是否合并空白分頁,默認(rèn)關(guān)閉。

4. KSM設(shè)置

即然上面對KSM的作用進(jìn)行了了解,那么如何在使用KSM時進(jìn)行調(diào)優(yōu)呢?

KSM的參數(shù)可以在/etc/ksmtuned.conf文件中調(diào)整。其默認(rèn)參數(shù)如下:

以下是對于該參數(shù)的具體解釋:

KSM_MONITOR_INTERVAL表示ksm每次內(nèi)存掃描的時間;

KSM_SLEEP_MSEC表示每次掃描休息的間隔時間(最小值為10),KSM掃描會占用一些CPU的開銷,所以當(dāng)KVM虛擬機(jī)數(shù)量或者應(yīng)用軟件較少時可以調(diào)整KSM_SLEEP_MSEC至一個較大的值,反之則設(shè)置較小的值;同時當(dāng)Hypervisor里面的虛擬機(jī)的內(nèi)存調(diào)優(yōu)到達(dá)一個穩(wěn)定狀態(tài),也可以根據(jù)情況把這個參數(shù)調(diào)小節(jié)省CPU的開銷;

KSM_THRES_COEF表示臨界值系數(shù);

KSM_THRES_CONST表示臨界值常量;

KSM_NPAGES_BOOST表示內(nèi)存頁合并增加數(shù)量;

KSM_NPAGES_DECAY表示內(nèi)存頁合并減少數(shù)量;

KSM_NPAGES_MIN表示內(nèi)存頁合并最小值;

KSM_NPAGES_MAX表示內(nèi)存頁合并***值;

LOGFILE表示ksmtuned的日志存放路徑,建議使用默認(rèn)路徑;

DEBUG取消注釋才生效,建議使用默認(rèn)值。

5. 對vm的設(shè)置

在kvm環(huán)境中,可以選擇VM是否允許內(nèi)存合并。

為了保護(hù)客戶的信息不泄露,一般我們還是會關(guān)閉KSM。步驟很簡單,修改VM的xml:

  1. <memoryBacking> 
  2. <nosharepages/> 
  3. </memoryBacking> 
責(zé)任編輯:武曉燕 來源: 知乎
相關(guān)推薦

2021-01-07 07:53:10

JavaScript內(nèi)存管理

2022-11-30 08:19:15

內(nèi)存分配Go逃逸分析

2020-05-09 13:49:00

內(nèi)存空間垃圾

2021-08-16 06:56:21

Slice數(shù)組類型內(nèi)存

2021-12-16 06:52:33

C語言內(nèi)存分配

2022-11-28 07:21:53

操作系統(tǒng)內(nèi)存管理

2023-12-02 20:41:32

內(nèi)存kube

2024-11-22 00:09:15

2012-09-10 10:39:04

IBMdw

2021-07-07 12:01:48

iOS內(nèi)存對齊

2022-07-29 08:17:46

Java對象內(nèi)存

2023-03-26 23:47:32

Go內(nèi)存模型

2021-02-03 15:12:08

java內(nèi)存溢出

2019-10-30 09:56:56

內(nèi)存屏障變量

2020-05-06 22:07:53

UbuntuLinux操作系統(tǒng)

2021-03-28 13:54:31

操作系統(tǒng)內(nèi)存管理

2023-12-07 12:45:58

進(jìn)程共享數(shù)據(jù)

2022-05-27 14:06:43

kvm虛擬機(jī)磁盤LUKS

2024-07-08 10:56:34

Rust進(jìn)程內(nèi)存

2025-04-27 08:25:00

Netty零拷貝內(nèi)存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产一级毛片精品完整视频版 | 一区二区视频在线观看 | 一区二区国产精品 | 三级黄色片在线观看 | 黄色片在线 | 81精品国产乱码久久久久久 | 亚洲视频一区在线 | 精品欧美一区二区三区久久久 | 嫩草视频入口 | 国产毛片久久久久久久久春天 | 日韩久久久久久 | 天天干天天干 | 欧美精品一区在线 | 国产黄色在线观看 | 成年人视频免费在线观看 | 国产精品日本一区二区不卡视频 | 国产精品不卡一区 | 国产在线精品一区二区三区 | 亚洲小视频 | 国产精品亚洲二区 | 久久久久亚洲 | 中文在线一区二区 | 成人一区二区三区在线观看 | 天天天天天操 | 久久国产精品久久久久久久久久 | 久久一热 | 成人久久视频 | 国产成人免费一区二区60岁 | 午夜在线免费观看视频 | 亚洲一区二区三区久久 | 国产精品久久久久久久久免费丝袜 | 日韩一区二区在线视频 | 视频在线一区二区 | 精品一二区 | 日韩欧美国产成人一区二区 | 人人干97 | 91 视频网站| 午夜国产 | 久久精品国产一区二区电影 | 看a网站 | 久久精品成人热国产成 |