Linux共享内存区参数设置
来源:互联网 发布:linux oracle 编辑:程序博客网 时间:2024/06/06 05:46
前言
昨天被师姐问了一个关于共享内存区大小设置的问题,之前一点没了解过,赶紧各种科普,科普到一篇好文章《Linux共享内存使用常见陷阱与分析》。认真看完后,之前使用共享内存时遇到的很多问题都了然了,很有收获,在此记录。
Linux共享内存设置
先通过几条命令查看下Linux中共享内存的相关参数默认值。
命令行:
ipcs -lm
这里涉及三个主要的与共享内存相关的参数:SHAMAX、SHAMNI、SHMALL。
命令行查看:
cat /proc/sys/kernel/shmmaxcat /proc/sys/kernel/shmmnicat /proc/sys/kernel/shmall
解释下三个参数的含义:
- SHMMAX:共享内存段的最大尺寸(以字节为单位)。
在Linux中的默认值是32M。如果程序中创建的共享内存超过这个默认值,程序使用标准错误perror会输出信息:“unable to attach to shared memory segment”。以设置大小为2G为例,设置方式:
> echo "2147483648" > /proc/sys/kernel/shmmax也可以使用sysctl命令来更改:
sysctl -w kernel.shmmax=2147483648最后,通过将该内核参数插入到 /etc/sysctl.conf 启动文件中,可以使这种更改永久有效:
sysctl -w kernel.shmmax=2147483648
- SHMMNI:系统范围内共享内存段的最大数量。该参数Linux中默认值为4096,一般来说已足够,不需改变。
修改方式:
echo “kernel.shmmni=4096″ >> /etc/sysctl.conf
- SHMALL:系统一次可以使用的共享内存总量(以页为单位)。该参数Linux中默认值为2097152。
修改方式:
sysctl -w kernel.shmall=2097152echo “kernel.shmall=2097152″ >> /etc/sysctl.conf
总结
0 0
- Linux共享内存区参数设置
- Linux中IPC机制:共享内存区
- linux 共享内存--系统V共享内存
- linux 共享内存--System V共享内存
- linux 共享内存与nginx共享内存
- linux内存共享
- Linux的共享内存
- linux 内存共享
- Linux 共享内存
- Linux 共享内存
- Linux共享内存
- Linux共享内存
- linux共享内存
- linux 内存共享mmap
- Linux 共享内存
- LINUX共享内存mmap
- linux共享内存
- Linux共享内存
- Java经典算法整理 Part1
- 2013年蓝桥杯试题解析(一)
- 周期(实现了每天,每周,每月,每年的间隔一定时间重复执行的周期)
- 普通逻辑(00024考点)
- MyEclipse重命名JavaWeb项目
- Linux共享内存区参数设置
- 如何防止反复添加.h文件(头文件)
- NET 页面生命周期
- WhatsApp比微信好在哪里?
- jQuery验证控件jquery.validate.js使用说明+中文API(1)
- lzo安装说明
- 题目1106:数字之和
- 黑马程序员_Java基础语句学习
- perl笔记