Answers:
该__init
函数通过调用ipc_ns_init
设置初始值,将其设置为宏的值。shmmax
shm_init_ns
SHMMAX
的定义SHMMAX
在<uapi/linux/shm.h>
:
#define SHMMAX (ULONG_MAX - (1UL << 24)) /* max shared seg size (bytes) */
在64位计算机上,该定义等于您找到的值18446744073692774399
。
在运行中,您只需回显/ proc / sys / kernel / shmmax!
# echo 20446744073692774399 > /proc/sys/kernel/shmmax
但是大多数人用类似于以下内容的行来编辑/etc/sysctl.conf:
kernel.shmmax=your_new_value_here
请参见sysctl(8)手册页。