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