SysV
IPC 包括 Semaphore、Shared Memory 和 Message Queue 这 3 类进程间通信手段,虽然 POSIX.1-2001 实时接口标准规定了另一套提供相同手段但更一致化的接口(POSIX IPC),但 SysV
IPC 仍然有相当数量的用户。
通过调整一些内核参数,可以更改 SysV
IPC 对数据的固有限制,相关参数对应的控制文件可在 /proc/sys/kernel/
目录下找到,也可以通过 sysctl 更改,现罗列如下:
控制文件路径 |
内核参数(通过 sysctl 更改时使用) |
含义 |
/proc/sys/kernel/shmmax
|
kernel.shmmax
|
共享内存中最大内存块尺寸(byte),默认为 33554432,即 32MB |
/proc/sys/kernel/shmall
|
kernel.shmall
|
整个系统中共享内存的最大尺寸,以页(4KB)为单位,默认为 2097152,即 2M 个页,共计 8GB |
/proc/sys/kernel/shmmni
|
kernel.shmmni
|
整个系统中共享内存块的最大数量,默认为 4096 |
/proc/sys/kernel/msgmax
|
kernel.msgmax
|
消息队列中单条消息的最大尺寸(byte),默认为 8192 |
/proc/sys/kernel/msgmnb
|
kernel.msgmnb
|
默认的每个消息队列的最大尺寸(byte),默认为 16384 |
/proc/sys/kernel/msgmni
|
kernel.msgmni
|
整个系统中消息队列的最大数量,默认为 16 |
/proc/sys/kernel/sem
|
kernel.sem
|
信号量的 4 个控制参数,从前向后分别是:
1. 单个信号量集合中容纳的最大信号量数量,默认为 250
2. 整个系统中信号量的最大数量,默认为 32000
3. 每个 semop 调用中允许的最大操作数量,默认为 32
4. 整个系统中信号量集合的最大数量,默认为 128 |
以上参数及含义都可以从 linux kernel 源码树的 SRCROOT/ipc/
子目录下 SysV
IPC 对应的实现文件中找到,其相关宏定义在 SRCROOT/include/linux/
子目录下的相关头文件中。
分享到:
相关推荐
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
离线安装包,亲测可用
linux 进程间通信 系统调用 sharememory 实现 。(此为博客http://blog.csdn.net/shallnet 文章对应源码下载)
一个简单的消息队列,基于Linux sysv 队列实现。默认sysv队列的存储空间比较小,可以通过设置内核参数加大sysv队列的空间
Linux操作系统SYSV进程间通信.pptx
SYSV进程间通信.pptx
离线安装包,亲测可用
10-6Linux操作系统 - SYSV进程间通信.pptx
官方离线安装包,亲测可用
linux 进程间通信 system V 消息队列 实现 。(此为博客http://blog.csdn.net/shallnet 文章对应源码下载)
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
去包装SysV消息队列 sysv_mq是的Go包装器。 使用该库之前,请务必阅读 , 和的这一点很重要。 sysv_mq是一个非常轻巧的包装器,不会对您隐藏任何错误。 可以在上查看公共API的文档。 sysv_mq已在Linux和OS X上进行了...
ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked
atcacl:Atcacl是脚本和c包装程序的集合,这些脚本和c包装程序有助于使从用户区更轻松地消失在IP区的迷雾中。 一旦设置好,命令是: dhcp0,dhcp1,idown,torstart和torstop。 dhcp0和dhcp1断开eth0和eth1接口的...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装