中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

KVM性能優化

發布時間:2020-06-01 16:10:24 來源:網絡 閱讀:2119 作者:居思涵 欄目:云計算

一、KVM為什么要調優

性能的損耗是關鍵。KVM采用全虛擬化技術,全虛擬化要由一個軟件來模擬硬件,故有一定的損耗,特別是I/O,因此需要優化。
KVM性能優化主要在CPU、內存、I/O這幾方面。當然對于這幾方面的優化,也是要分場景的,不同的場景其優化方向也是不同的。

二、KVM優化思路及步驟

KVM的性能已經很不錯了,但還有一些微調措施可以進一步提高KVM的性能
1、CPU的優化
要考慮CPU的數量問題,所有guestcpu的總數目不要超過物理機CPU的總數目。如果超過,則將對性能帶來嚴重影響,建議選擇復制主機CPU配置。
2、內存的優化
(1)KSM(Kernel Samepage Merging,相同頁合并)
內存分配的最小單位是page(頁面),默認大小是4KB,可以將host機內容相同的內存合并,以節省內存的使用,特別是在虛擬機操作系統都一樣的情況下,肯定會有很多內容相同的內存值,開啟了KSM,則會將這些內存合并為一個,當然這個過程會有性能損耗,所以開啟與否,需要考慮使用場景。
而KSM對KVM環境有很重要的意義,當KVM上運行許多相同系統的客戶機時,客戶機之間將有許多內存頁是完全相同的,特別是只讀的內核代碼頁完全可以在客戶機之間共享,從而減少客戶機占用的內存資源,能同時運行更多的客戶機。
KSM會稍微影響系統性能,以效率換空間,如果系統的內存很寬裕,則無須開啟KSM,如果想盡可能多地并行運行KVM客戶機,則可以打開KSM。
ll /sys/kernel/mm/ksm/ //查看內核信息
KVM性能優化
pages_shared合并的頁面數
pages_sharing 正在共享單個頁面的虛擬頁面數
page_unshared 作為共享候選者但當前未共享的頁數
page_volatile 作為共享候選者但頻繁更改的頁數,KSM服務不會合并這個頁面
full_scan 為重復內容掃描KSM的次數
merge_across_nodes 是否允許在NUMA節點中執行合并
pages_to_scan 一次掃描的頁數,該數字會影響系統性能
sleep_milisecs 掃描之間的時間間隔
每個頁面的大小為4KB,可計算出共享內存為:4頁面數=內存大小(KB)

cd /sys/kernel/mm/ksm/
cat run //是否開啟KSM,0是不開啟,1是開啟
echo 1 > run    //臨時開啟KSM,只能使用重定向,不支持VI編輯器
vi /etc/rc.local        //添加echo 1 > /sys/kernel/mm/ksm/run,讓KSM開啟自啟
cat pages_to_scan       //定期掃描相同頁,sleep_millisecs決定多長時間,    pages_to_scan決定每次查看多少個頁面,默認為100,越大越好,超過2000無效,  需要開啟兩個服務ksmtuned和tuned支持更過頁面

(2)對內存設置限制
如果我們有多個虛擬機,為了防止某個虛擬機無節制地使用內存資源,導致其他虛擬機無法正常使用,就需要對內存的使用進行限制。
virsh memtune c01 //查看當前虛擬機c01內存的限制,單位為KB
KVM性能優化
virsh memtune --help
KVM性能優化
KVM性能優化

virsh memtune c01 --hard-limit 1024000 --live   //設置強制最大內存并且在線生效
virsh memtune c01       //查看

KVM性能優化
(3)大頁后端內存(Huge Page Backed Memory)
在邏輯地址向物理地址轉換時,CPU保持一個翻譯后備緩沖器TLB,用來緩存轉換結果,而TLB容量很小,所以如果page很小,TLB很容易就充滿,這樣就容易導致cache miss,相反page變大,TLB需要保存的緩存項就變少,就會減少cache miss。通過為客戶機提供大頁后端內存,就能減少客戶機消耗的內存并提高TLB命中率,從而提升KVM性能。
Intel的x86 CPU通常使用4KB內存頁、但是經過配置,也能夠使用大頁(huge page): x86_32是4MB,x86_64和x86_32 PAE是2MB,這是KVM虛擬機的又一項優化技術。
使用大頁,KVM的虛擬機的頁表將使用更少的內存,并且將提高CPU的效率。
cat /proc/meminfo //查看內存信息,無可用大頁
KVM性能優化
echo 25000 > /proc/sys/vm/nr_hugepages //指定大頁需要的內存頁面數量(臨時生效)
KVM性能優化

sysctl -w vm.nr_hugepages=25000     //指定大頁需要的內存頁面數永久生效
或者在/etc/sysctl.conf中添加vm.nr_hugepages=2500來持久設定大頁文件系統需要的內存頁面數。

注意:大頁文件系統需要的頁面數可以由客戶機需要的內存除以頁面大小來大體估計。

virsh destroy c01   //刪除原有的域
virsh edit c01  //編輯虛擬機的XML配置文件使用大頁來分配內存

KVM性能優化
KVM性能優化

mount -t hugetlbfs /dev/hugepages/  //掛載hugetlbfs文件系統
systemctl restart libvirtd.service
virsh start c01     //開啟虛擬機
cat /proc/meminfo | grep HugePage   //查看

KVM性能優化

virsh destroy c01   //再次刪除
cat /proc/meminfo | grep HugePage   //再次查看,發現大頁被釋放

KVM性能優化
3、I/O的優化
在實際的生產環境中,為了避免過度消耗磁盤資源而對其他的虛擬機造成影響,我們希望每臺虛擬機對磁盤資源的消耗是可以控制的。比如多個虛擬機往硬盤中寫數據,誰可以優先寫,就可以調整I/O的權重weight,權重越高寫入磁盤的優先級越高。
對磁盤I/O控制有兩種方式
(1)在整體中的權重,范圍在100~1000。
(2)限制具體的I/O。
virsh blkiotune c01 //查看c01的I/O參數
KVM性能優化

virsh blkiotune c01 --weight 500    //設置權重為500
virsh blkiotune c01     //再次查看

KVM性能優化
virsh edit c01 //也可編輯虛擬機的XML配置文件
KVM性能優化
virsh blkiotune --help //查看使用幫助
KVM性能優化
4、系統調優工具tuned/tuned-adm
CentOS在6.3版本以后引入了一套新的系統調優工具tuned/tuned-adm,其中,tuned是服務端程序,用來監控和收集系統各個組件的數據,并依據數據提供的信息動態調整系統設置,達到動態優化系統的目的;tuned-adm是客戶端程序,用來和tuned打交道,用命令行的方式管理和配置tuned/tuned-adm,提供了一些預先配置的優化方案可供直接使用。當然不同的系統和應用場景有不同的優化方案,tuned-adm預先配置的優化策略不是總能滿足要求,這時候就需要定制,tuned-adm允許用戶自己創建和定制新的調優方案。

yum install tuned -y    //安裝和啟動tuned工具
service tuned start
tuned-adm active  //查看當前優化方案

KVM性能優化
tuned-adm list //查看預先設定好的優化方案
KVM性能優化
tuned-adm profile virtual-host //修改優化方案為virtual-host
KVM性能優化

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丰台区| 嘉义县| 上杭县| 长沙市| 类乌齐县| 南漳县| 上林县| 肥东县| 安庆市| 威信县| 平阳县| 安泽县| 娄底市| 日土县| 万全县| 宜昌市| 监利县| 泸州市| 靖远县| 望都县| 运城市| 丹东市| 宁安市| 涡阳县| 伊川县| 福州市| 鸡西市| 尉犁县| 兴文县| 安乡县| 东明县| 高邑县| 顺平县| 溆浦县| 阿图什市| 肃北| 新丰县| 报价| 竹溪县| 南华县| 河东区|