跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于【Centos8内存机制】的疑问解答
未分類
2 6 月 2020

关于【Centos8内存机制】的疑问解答

Syc 大佬有话说 :

关于【Centos8内存机制】的疑问解答

本帖最后由 Syc 于 2020-6-2 02:11 编辑

关于这个问题 《Centos8内存机制》,需要了解Linux的内存分页机制。

问题直通车:https://www.hostloc.com/forum.php?mod=viewthread&tid=697531

背景知识:Centos8之前版本中,内存分页为4级,而由 Centos8 开始,为了更好地适应“堆硬件”环境,内存分页改为5级,有更大的寻址空间。

在Linux中的每个进程都对应一个页表,

以Centos7的4级分页为例:4G的内存,4K每页

如果是一级页表映射,那需要 2^20 =1M 个页表项 (无论系统用不用都映射,此时系统不知道哪个地址是否会被访问)

1M * 4 == 4M每个进程初始化的时候就需要4M的页表负责

而如果是2级页表映射,就只需要一个页目录 + 1个页表项(此时,进程只使用1级页表的4M内存的情况就足够了,2级开始只需要目录+实际地址)

1个页目录占4K,一个页表项占4个字节,但另起了一页,每个进程总体则占8K。以此类推。

:lol:lol 所以,Centos8之后的5级分页机制会导致系统在内存上预先占用更多内存空间。

[*]页全局目录(Page Global Directory):包含若干页上级目录的地址;
[*]页上级目录(Page Upper Directory):依次包含若干页中间目录的地址;
[*]页中间目录(Page Middle Directory):包含若干页表的地址;
[*]页表(Page Table):每一个页表项指向一个页框

https://i.loli.net/2020/06/02/jE6J7d1FlHMNK28.pnghttps://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具