1》相關知識簡介: 1>常用的磁碟IO調度器: CFQ:完全公平隊列演算法; deadline:最後期限演算法; anticipatory:順序讀寫隊列演算法/預期演算法; NOOP:no operation,最簡單的調度演算法; 2>如何替換IO調度演算法:預設演算法為CFQ; /sys/block/<devi ...
1》相關知識簡介:
1>常用的磁碟IO調度器:
CFQ:完全公平隊列演算法;
deadline:最後期限演算法;
anticipatory:順序讀寫隊列演算法/預期演算法;
NOOP:no operation,最簡單的調度演算法;
2>如何替換IO調度演算法:預設演算法為CFQ;
/sys/block/<device>/queue/scheduler
3>記憶體相關:
MMU:是Memory Management Unit的縮寫,中文名是記憶體管理單元,它是中央處理器(CPU)中用來管理虛擬存儲器、物理存儲器的控制線路,同時也負責虛擬地址 映射為物理地址,以及提供硬體機制的記憶體訪問授權,多用戶多進程操作系統;
TLB:是(Translation Lookaside Buffer)的縮寫,轉換檢測緩衝區是一個記憶體管理單元,用於改進虛擬地址到物理地址轉換速度的緩存;
vm.swapiness={0..100}:使用交換分區的傾向性,預設為60,越小越不傾向;
overcommit_memory=2:過量使用;
overcommit_ratio=50:百分比
swap+RAM*ratio;
swap:2G RAM:8G 可使用為:4+8*1/2=6G
如何充分使用物理記憶體:
1)將swap設定為與RAM物理記憶體一樣:swappiness=0;
2)overcommit_memory=2,overcommit_ratio=100,swappiness=0;
memory:swap+ram
3) tcp_max_tw_buckets:調大,保存允許tcp連接的連接個數,儘量不要讓其溢出,tw為主動斷開的一方所產生的狀態;
IPC:
message:
msgmni,msgmax,msgmnb
shm:
shmall,shmmax,shmmni
4>性能監控的相關命令:
sar,dstat,vmstat,mpstat,iostat,top,free,iotop,uptime,cat /proc/meminfo,ss,netstat,lsof,time,perf,strace
blktrace,blkparse,btt
dd,iozone,io-stress,fio
5>對於內核來說:
CPU:全量CPU時間片;
記憶體:連續的,且是全部的記憶體空間(必須要從0x0000開頭,);
I/O:全部可用IO;
2》虛擬化技術基礎詳解:
1>影子MMU來實現地址轉換:
Intel和AMD分別通過EPT(Extended Page Tables)和NPT(Nested Page Tables)為虛擬化應用提升影子MMU的性能,並通過標記(tagged)TLB來避免虛擬機切 換時頻繁清寫(flush)TLB以提高TLB緩存的命中率;
2>Intel和AMD的開啟虛擬化的內核選項:
Intel:VT-x
AMD:AMD-v
3>IO虛擬化:
虛擬機是通過軟體虛擬化的方式來虛擬出自己所需要的一干硬體設備;
4>完全虛擬化與半虛擬化:
半虛擬化比完全虛擬化性能好,跟硬體設備打交道時速度會快很多;
完全虛擬化:
CPU不支持硬體虛擬化技術:模擬特權指令;模擬
CPU支持硬體虛擬化技術:VMM運行ring-1,而GuestOS運行ring-0;HVM(Hardware-asistant VM)
半虛擬化:
CPU,IO,MEMORY;
PV on HVM:即利用了CPU的輔助虛擬化技術,降低了自己的負荷,又利用了IO的pv能力,這樣結合起來的系統性能很好;
5>虛擬化模型:
1)Vmware workstattion,Vmware Server:
2)Vmware ESX,Vmware ESXi:
在物理機中不安裝任何操作系統,直接安裝Vmware;
3)XEN虛擬化(QEMU:跨平臺虛擬):
6>KVM(Kernel-based Virtual Machine)虛擬化介紹:基於內核的虛擬機;KVM+Qemu
7>虛擬化:
Intel:IOMMU
X86:VT-x,EPT,IOMMU
8>X86平臺:
CPU:
Intel:VT-x
AMD:AMD-v
MMU:
Intel EPT
AMD NPT
IO:
Intel IOMMU
3》Xen虛擬化及DomU的實現:
1>Xen虛擬化工作示意圖:
RHEL5.3:Xen
RHEL5.4:Xen和KVM
RHEL6.0:KVM(64bits)
RHEL6.0:DomU,但不能運行Dom0
Linux:2.6.24+ pvops frameowrk
DomU
Linux:2.6.37(3.0+)
Dom0
Xen:
kernel /xen.gz
module /
module /
Xen-4.0:
xend/xm
Xen-4.1:
xl,xend/xm
Xen-4.2:
xl
2>使紅帽6.4版本64位的能夠支持運行Dom0的方法:
1)下載安裝內核最新版本;