为了利用这些硬件上的改进功能,RHEL内核得到了加强。例如,CPU方面的加强能够允许用户分配超过64个CPU。此外,由于内核RCU同步机制的“锁定”特性——实际上是没有任何锁的,只是一种在SMP对称多处理器环境下避免锁、提高性能的机制——能够被分配的CPU数量有个最小值。 RHEL 6还有一些内存方面的增强。首先,第一项增强便是透明的大内存分页。这意味着大内存分页(允许内核分配大的内存块而不是4KB的小块)是动态的,因此,在系统启动时就不用为内存执行分页计划。另一项则是对KVM有利的功能——内核同页合并。此项功能允许多个虚拟机同时访问同一个管理页面,清除启动阶段所有的内存页面,提高了Windows虚拟机的性能。 下一个改进的部分就是块I/O。首先是本地异步IO和preadv/pwritev系统调用。有了这些,你可以在读/写之前将需要的内存区域组合起来,提高多线程环境下的性能。内核现在也已经具有了MSI中断支持。MSI中断与PCI设备息息相关,允许你在多路并行中断线上工作。另一个相关改进是块对齐,如今,块对齐的默认值进行了优化,使得系统具有更好的性能。上述所有这些改进都是为了提供内核级的绝佳性能。 一些特殊的I/O增强也为网络接口性能的提高带来了好处。其中最重要的一处增强便是将网络空间的一部分从用户空间移动到内核空间的虚拟主机网。这一点对virtio驱动非常有用。virtion驱动器还能为KVM用户提供更好的网络性能,同时允许用户使用TAP驱动与虚拟设备进行对话。使用虚拟主机网的好处在于它直接挂靠在内核中,因此能够提供比需要仿真的qemu方法好得多的性能。 |