2017-06-05 65 views
-2

我在ESXi Sever中使用CentOS VM。我想增加1G的Hugepagesize。虛擬機內的Hugepagesize不會增加到1G

我跟着鏈接: http://dpdk-guide.gitlab.io/dpdk-guide/setup/hugepages.html

我執行的小腳本,以檢查是否1 GB支持:

[[email protected] ~]# if grep pdpe1gb /proc/cpuinfo >/dev/null 2>&1; then echo "1GB supported."; fi 
1GB supported. 
[[email protected] ~]# 
  1. 我加入default_hugepagesz = 1GB hugepagesz = 1G大頁面= 4到/ etc /默認/ grub中。
  2. 在grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 重新引導VM。

但是我仍然可以看到2048KB(2MB)的Hugepagesize。

[[email protected] ~]# cat /proc/meminfo | grep -i huge 
AnonHugePages:  8192 kB 
HugePages_Total: 1024 
HugePages_Free:  1024 
HugePages_Rsvd:  0 
HugePages_Surp:  0 
**Hugepagesize:  2048 kB** 
[[email protected] ~]# 

VM的以下是詳細說明:

記憶
[[email protected] ~]# uname -a 
Linux localhost.localdomain 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 
[[email protected] ~]# 

[[email protected] ~]# cat /proc/cpuinfo | grep -i flags 
flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi ept vpid 
flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi ept vpid 
[[email protected] ~]# 

8GB和2級的CPU被分配給虛擬機。

+0

你的'dmesg'中有什麼? ESXi應該配置爲1G頁面分配和支持;虛擬機管理程序沒有真正的1G物理頁面時,guest不能請求1G頁面。 ESXi可能不支持1 G頁面。例如,使用RedHat主機時,應在主機操作系統中分配1GB頁面:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Tuning_and_Optimization_Guide/sect-Virtualization_Tuning_Optimization_Guide-Memory-Huge_Pages-1GB-runtime .html – osgx

+0

[root @ localhost〜]#dmesg | grep -i huge [0.000000]命令行:BOOT_IMAGE =/vmlinuz-3.10.0-514.10.2.el7.x86_64 root =/dev/mapper/cl-root ro crashkernel = auto rd.lvm.lv = cl/root rd.lvm.lv = cl/swap rhgb quiet default_hugpagesz = 4GB hugepagesz = 1GB hugepages = 4 – mbhole

+0

不是單個grep,而是完整的dmesg。和esxi設置和版本。該指南「http://dpdk-guide.gitlab.io/dpdk-guide/setup/hugepages.html」不適用於ESXi虛擬化解決方案,它適用於真正的操作系統(實際硬件上的Linux)。 – osgx

回答

0

1gb hugepage支持和guest虛擬機操作系統支持/啓用的CPU標誌不足以獲得1 GB的虛擬化環境中的巨大頁面。

(PAE和x86_64之前2MB或4 MB)上PMD巨大頁兩者的想法和PUD水平(1 GB)是創建巨大尺寸的對準虛擬區域映射到物理存儲器的一些巨大的區域(如我明白,它應該也一致)。虛擬化管理程序的額外虛擬化級別現在有三個(或四個)內存級別:來賓操作系統中的應用程序虛擬內存,被訪客操作系統視爲物理內存的一些內存(它是由虛擬化解決方案管理的內存:ESXi,Xen,KVM ,....)和真實的物理內存。我們有理由認爲,大頁面想法應該在所有三個層次上具有相同大小的巨大區域,以便有用(生成更少的TLB未命中,使用更少的頁表結構來描述大量內存 - grep「需要大於4KB的頁面」) DickSites's "Datacenter Computers: modern challenges in CPU design", Google, Feb2015)。

因此,要使用Guest OS中某個級別的巨大頁面,您應該在物理內存(在您的主機操作系統中)和虛擬化解決方案中擁有相同大小的頁面。 如果主機操作系統和虛擬化軟件不適用於主機操作系統和虛擬化軟件,則無法在guest虛擬機中有效使用大型頁面。 (有些像qemu或bochs可能會模仿它們,但是這將會從慢到慢)。而且,當你需要2 MB和1 GB的巨大頁面時:你的CPU,主機操作系統,虛擬系統和客戶操作系統都應該支持它們(和主機系統應該有足夠的對齊的連續物理內存來分配1 GB頁面,否則您可能無法將此頁面分割到NUMA中的多個套接字中)。

不知道ESXi的,但也有一些鏈接,

程序8.2。在啓動時

  1. 分配1 GB大頁面要在引導分配大內存頁的大小不同,請使用以下命令,指定大頁面的數量。此示例分配4個1 GB大頁面和1024個2 MB大頁面:'default_hugepagesz=1G hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024'更改此命令行以指定引導時分配的不同數量的大頁面。

注意接下來的兩個步驟還必須在引導時第一次分配1 GB大頁面時完成。

  • 裝入2 MB和1 GB巨大在主機上的網頁:

    #MKDIR的/ dev/hugepages1G #安裝-t hugetlbfs的-o頁大小= 1G無/開發/ hugepages1G #的mkdir的/ dev/hugepages2M #安裝-t hugetlbfs的-o頁面大小= 2M沒有的/ dev/hugepages2M

  • 的libvirtd重新啓動上啓用來賓使用1個GB大頁面:

    #服務重啓libvirtd

  • 1GB大頁面現在可供客人使用。

    通過增加頁面大小,可以減少頁表,並減少對TLB緩存的壓力。 ... vm.nr_hugepages = 256 ...重新啓動系統(注意:這是關於主機和主機操作系統的物理重啓)...設置Libvirt以使用巨大頁面KVM_HUGEPAGES=1 ...設置訪客使用巨大頁面

    不足:最後,hypervisor廠商完全可以採用大頁面之前採取一些生產週期。例如,儘管x86-64系統上的guest虛擬機可以使用它們,但VMware的ESX服務器目前不支持管理程序中的1GB大頁面,即 。

    我們發現,大量的頁面在一系列的管理程序相沖突與輕量級內存管理(例如,ESX,KVM)跨架構(如ARM,x86-64)和基於容器的技術。

    在VMware ESX Server 3.5和VMware ESX Server 3i的V3.5引入2MB至虛擬化環境 大頁面支持。在早期版本的ESX Server中,客戶操作系統大頁面使用小頁面模擬 頁面。這意味着,即使客戶操作系統使用大頁面,它也不會獲得減少TLB未命中的性能優勢。 ESX Server 3.5和ESX Server 3i v3.5中的增強型大頁面支持使PAE模式下的32位虛擬機和64位虛擬機能夠使用大型頁面 。