文章预览
大家好,我是飞哥! 大家如果有人部署过 Oracle 数据库的话,一定也看到过 Oracle 为了性能考虑,是推荐开启大页(HugePage)的。 那么为什么开启大页 能有性能提升,它的优化原理是啥,又是如何实现的呢? 今天飞哥就来和你一起深入地聊聊这个 Topic。 一、 内核四级页表之殇 为了更好了解 HugePage,我们需要温习一下内核的页表机制。 在这个机制中有两个前提知识点,那就是 第一、应用程序申请内存时不会分配物理内存,访问触发缺页中断时才分配! 第二、页是内核分配物理内存的最小单位! 我们应用程序使用的都是虚拟内存地址。在程序实际运行的时候,需要转换成实际的物理地址。如果转换后的物理地址所在的页面正好存在,那么直接访问就可以了。如果页面不存在,那么需要触发缺页中断并申请一个完整的页面后再供应用程序继续访问
………………………………