shmget报错Invalid argument
参考地址:https://blog.csdn.net/smcnjyddx0623/article/details/52294714
shmget函数申请共享内存,返回错误22
原因:申请的共享内存空间超过了系统限制
cat /proc/sys/kernel/shmmax
通过这个,可以查看共享内存单个段允许使用的大小
如果这个值比较小,就需要修改这个上限
如何修改共享内存上限值:
建议将共享内存的上限值设为物理内存的一半,把共享内存大小设置为16GB。
临时修改(重启失效):
sysctl -w kernel.shmmax=17179869184
永久修改:
root权限vi /etc/sysctl.conf系统配置文件:
kernel.shmmax = 17179869184
执行sysctl -p使修改的配置生效