shmmax的含义与设置小结
shmmax内核参数定义单个共享内存段的最大值,即单个进程的最大内存使用量,如果该参数设置小于某些进程的设置,那么就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。32位CPU的寻址空间是4G,32位机器shmmax一般不能超过4G
老版本CentOS、Redhat的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。现在新版本是
[root@localhost ~]# cat /proc/sys/kernel/shmmax
4294967295
长久修改shmmax的值:
vi /etc/sysctl.conf 编辑这个文件,在最后一行加入
kernel shmmax = 807374182
然后执行以下命令使配置生效:
/sbin/sysctl -p
临时更改该值:
echo 字节数 > /proc/sys/kernel/shmmax
按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
kernel.shmmax = 字节数
注:vi /etc/sysctl.conf 编辑这个文件,在最后一行加入
kernel shmmax = 807374182
重启生效.