ll //sys/kernel/mm/ksm/vim
cat run後端
[root@bogon ksm]# cat run //是否開啓KSM,0爲關閉,1爲開啓 0 [root@bogon ksm]# echo 1 > run //臨時開啓KSM,只能使用重定向,不支持VI編輯器 //若想永久開啓,可在/etc/rc.local中添加echo 1 > /sys/kernel/mm/ksm/run,讓KSM開機自動運行 [root@bogon ksm]# cat pages_to_scan //按期掃描相同頁,sleep_millisecs決定多長時間 //pages_to_scan決定每次查看多少個頁面 //默認是100,越大越好,超過2000無效,須要開啓兩個服務ksmtuned和tuned,支持更多頁面
virsh memtune c7-1 //查看當前虛擬機的內存限制,單位爲KB緩存
hard_limit : 無限制 //強制最大內存 soft_limit : 無限制 //可用最大內存 swap_hard_limit: 無限制 //強制最大swap使用大小
virsh memtune c7-1 --hard-limit 1024000 --live性能優化
在邏輯地址想物理地址轉換時,CPU保持一個翻譯後備緩衝器TLB,用來緩衝轉換結果,而TLB容量很小,因此若是page很小,TLB很容易就充滿,這樣就容易致使cache miss,相反page變大,TLB須要保存的緩存項就變少,就會減小cache miss,經過爲客戶端提供大頁後端內存,就能減小客戶機消耗的內存並提升TLB命中率,從而提升KVM性能。dom
cat /proc/meminfotcp
HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0
echo 25000 > /proc/sys/vm/nr_hugepages //臨時生效編輯器
sysctl -w vm.nr_hugepages=25000 或者 vim /etc/sysctl.conf vm.nr_hugepages=25000 //添加行,執行sysctl -p 當即生效
virsh destroy c7-1
vim /etc/libvirt/qemu/c7-1.xmlide
...... <domain type='kvm'> <name>c7-1</name> <uuid>09ea8217-8943-47b1-9275-63b0357d31e2</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking><hugepages/></memoryBacking> //添加,使用大頁 <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='hd'/> ......
systemctl restart libvirtd.service
virsh start c7-1
cat /proc/meminfo | grep HugePage工具
在實際的生產環境中,爲了米麪過分消耗磁盤資源而對其餘的虛擬機形成影響,咱們但願每臺虛擬機對磁盤資源的消耗是可控的,好比多個虛擬機往硬盤中寫數據,誰能夠優先寫,就能夠調整I/O的權重weight,權重越高寫入磁盤的優先級越高。性能
在總體中的權重,範圍在100~1000.
限制具體的I/O.
virsh blkiotune c7-1 //查看當前虛擬機權重狀態
virsh blkiotune c7-1 --weight 500 //經過命令修改權重爲500
yum install tuned -y
service tuned start
tuned-adm active
tuned-adm list
tuned-adm profile desktop