---
title: 修改grub配置
description: "修改grub配置文件，在宿主机中使能内存大页，提高宿主机的内存管理效率和性能。使能iommu passthrough，提高访存效率。使能GICv4.1，直通中断降低CPU损耗和时延以及提升虚拟硬盘IO性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative/kunpengcpsvideo_04_0007.html
sourcePath: /source/zh/kunpengboostkithistory/2530/armnative/kunpengcpsvideo_04_0007.html
indexId: fed9d84c558157607e9ac63aea66ffc2de6772c89b6b7be834a4bf059c60529277
---
# 修改grub配置

修改grub配置文件，在宿主机中使能内存大页，提高宿主机的内存管理效率和性能。使能iommu passthrough，提高访存效率。使能GICv4.1，直通中断降低CPU损耗和时延以及提升虚拟硬盘IO性能。

1. 在宿主机系统中，编辑grub配置文件。

```
vim /etc/default/grub
```


2. 按“i”进入编辑模式，在GRUB_CMDLINE_LINUX后添加如下所示配置。

```
"default_hugepagesz=1G hugepagesz=1G hugepages=800 pci=realloc transparent_hugepage=never iommu.passthrough=1 arm64.nopauth kvm-arm.vgic_v4_enable=1 kvm-arm.virt_msi_bypass=1 irqchip.gicv3_rsv_buses_start=30 irqchip.gicv3_rsv_buses_count=10"
```


  内存大页配置参考：hugepages = 当前总内存*0.8（向下取整），在本环境下设置为1TB * 0.8 = 800GB。

3. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存并退出文件。
4. 更新grub配置文件。

```
grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg
```


5. 设置启动内核。

```
grub2-set-default 'openEuler (5.10.0-patched-vm) 22.03 (LTS-SP4)'
```


6. 重启服务器。

```
reboot
```


7. 重启完毕后检查内核是否切换为“5.10.0-patched-vm”。

```
uname -r
```


8. 查看内存大页是否成功配置。

```
cat /sys/devices/system/node/node*/meminfo | grep Huge
```


  回显如下图所示，“Node x HugePages_Total”字段总和为“800”则为配置成功。

9. 查看iommu passthrough是否成功配置。

```
dmesg | grep iommu | head -n 10
```


  回显信息中显示“iommu: Default domain type: Passthrough”则配置成功。

10. 查看GICv4.1是否成功配置。

```
dmesg | grep GICv4.1
```


  回显信息中显示“GICv4.1 support enabled”则配置成功。

11. 虚拟机启动后，执行下述指令。

```
dmesg | grep "Create shadow device"
```


  回显信息中显示“Create shadow device”字段，则GICv4.1配置成功。
