![对于远小于 1GB 的大小(例如 64MB)使用 SHM_HUGE_1GB 的影响](https://linux22.com/image/229285/%E5%AF%B9%E4%BA%8E%E8%BF%9C%E5%B0%8F%E4%BA%8E%201GB%20%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%88%E4%BE%8B%E5%A6%82%2064MB%EF%BC%89%E4%BD%BF%E7%94%A8%20SHM_HUGE_1GB%20%E7%9A%84%E5%BD%B1%E5%93%8D.png)
我对于在 Linux 中实际使用(不理解)共享内存还比较陌生。我现在正在处理这样的情况,我需要分配一块连续的共享 64MB 内存。在学习如何正确使用共享内存时,我偶然发现了一些巨大的 TLB 选项shmget
;SHM_HUGE_2MB
和SHM_HUGE_1GB
(https://man7.org/linux/man-pages/man2/shmget.2.html)。
现在,我知道巨大的 TLB 对于大型连续内存来说非常有益(因为虚拟到物理地址的转换变得更加简单)。我的问题是,如果我SHM_HUGE_1GB
仅使用 64MB 内存,是否会产生不良副作用?或者我什至可以将它用于较小容量的内存吗?