为什么 Linux 系统默认页大小是 4KB
💡
原文中文,约2700字,阅读约需7分钟。
📝
内容提要
Linux使用页面作为内存管理单位,可以使用正常大小的内存页或大内存页。页面大小影响页表项和内存利用率。较小页面大小增加TLB查找速度和开销,减少内存碎片;较大页面大小浪费内存空间,降低内存利用率。随着内存价格降低,更大内存可能是更好的选择。
🎯
关键要点
- Linux以页面为单位管理内存,操作系统以页面为单位进行数据加载和写入。
- 可以使用正常大小的内存页(4KB)或大内存页(如8KB、16KB、64KB)。
- 4KB内存页是历史遗留问题,可能不是最佳选择,8KB或16KB可能更合适。
- 页面大小影响页表项数量和内存利用率,过小的页面增加TLB查找速度和开销,过大的页面浪费内存空间。
- Linux中使用四层或五层页表结构来支持虚拟地址到物理地址的转换。
- 较小的内存页减少内存碎片,提高内存利用率,但增加页表项和查找开销。
- 较大的内存页减少页表项数量,但可能导致内存碎片和降低内存利用率。
- 随着内存价格降低,较大的内存页可能成为更好的选择。
- 读者可以思考Linux中的扇区、块和页的区别与联系,以及块大小的决定因素。
➡️