Closed draveness closed 2 years ago
上次学redis专栏有了解到:fork是用了copy-on-write机制,当数据有修改,会copy一份对应的内存页,当改动比较小时比如几个字节,内存页大反而会带来更大开销
文章排版看着真舒服👍
@ppd0705 上次学redis专栏有了解到:fork是用了copy-on-write机制,当数据有修改,会copy一份对应的内存页,当改动比较小时比如几个字节,内存页大反而会带来更大开销
所以说 huge page 用于一些特定的场合。
作为 Linux 从 2.6.32 引入的新特性,HugePages 能够提升数据库、Hadoop 全家桶等占用大量内存的服务的性能,该特性对于常见的 Web 服务以及后端服务没有太多的帮助,反而可能会影响服务的性能
mmap可以申请大页面,那么这些大页面是和系统默认的其他4KB页面共存的吗?也就是说LInux可以同时使用4级查找和五级查找?
@meton-robean mmap可以申请大页面,那么这些大页面是和系统默认的其他4KB页面共存的吗?也就是说LInux可以同时使用4级查找和五级查找?
是共存的
它们也不会被 Swap 到磁盘上,...
这个说法是存疑, 参照 https://access.redhat.com/solutions/46111
它们也不会被 Swap 到磁盘上,...
这个说法是存疑, 参照 https://access.redhat.com/solutions/46111- 在 OS 层面,要保证连续的内存同样会有压力,感觉这是一种 trade off 不是纯粹的优化 参照 Mongo https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
HugePages 和 THP 不是一种东西,可以看看 https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/restrictions-for-hugepages-and-transparent-hugepages-configurations.html#GUID-D8178896-D00F-4F02-82A7-A44F89D8F103
虽然部分处理器会使用 8KB、16KB 后者 64KB 作为默认的页面大小
“后者”应该是“或者”吧?
2021-05-26 UPDATES: 已修复
https://draveness.me/whys-the-design-linux-hugepages/