共享内存的最大值是太高了… 64G。 SHMMAX,为什么?

Linux中这个最大共享内存是否太高? 这个似乎是CentOS 5.6的默认值

cat /proc/sys/kernel/shmmax 68719476736 

这是64G。 我可以改变它吗? 我应该换多less? 我的服务器只有1.5G

除非您在分配太多SHM的进程中遇到问题,否则不需要更改。

这可能是无害的,但可以通过将其添加到/etc/sysctl.conf来更改它:

 kernel.shmmax=1610612736 

永久将其设置为1.5GB(设置将在每次启动后加载)。 要实时调整它:

 sysctl -w kernel.shmmax=1610612736 

请注意,尽pipe64GB将推动它的1.5GB系统(这个设置的stream行build议似乎徘徊在安装的RAM的80-100%左右),我想对于一些特定的工作负载,你可能希望基于这个参数的总内存子系统的大小,由于交换和虚拟内存,可以远远高于安装的RAM本身。