我们部署和使用(内部自行开发的应用程序)所有这些实际上都使用大页面和mmap()
系统调用。但我更愿意限制某些应用程序实际使用大页面支持。这可以通过代码的任何更改或任何可以实现的系统范围的配置选项来实现吗?
我建议设置和使用内核可调选项vm.hugetlb_shm_group=<GID>
in /etc/sysctl.conf
或手动通过hugeadm command。下面的示例意味着只有组 mygroup(2341) 的成员才能分配“巨大”共享内存段
vm.hugetlb_shm_group = 2341
注意:仅限(其中的用户部分)列出的组vm.hugetlb_shm_group
内核可调,sysctl 就可以使用shmget()
and shmat()
调用访问 HugePages。然而,任何调用 mmap() 的用户都可以访问 HugePages。如果仅使用,您的代码可能需要相应地进行一些更改mmap()
.
只能将一组定义为vm.hugetlb_shm_group
。更新内核参数值后/etc/sysctl.conf
文件,重新启动计算机,或运行命令sysctl -p
进行更改/etc/sysctl.conf
活动内核内存中可用的文件。
Refer: hugeadm command.
--set-shm-group=
/proc/sys/vm/hugetlb_shm_group 中指定的组中的用户被授予对大页的完全访问权限。
sysctl 接受一个数字 gid,但这个巨大的adm 选项可以使用 gid 或组名称为您设置它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)