ChinaUnix.net
相关文章推荐:

linux 共享内存

1)用ftok()函数获得一个ID号. 应用说明: 在IPC中,我们经常用用key_t的值来创建或者打开信号量,共享内存和消息队列。这个在IPC的环境中十分的重要,比如说,服务器创建了一个消息队列,等待客户机发送请求。那么如何创建或者打开已有的消息队列呢?一般而言,我们对于服务器使用的路径和项目id(proj_id)是已知的,所以客户机可以获取相同的key来打开 消息队列并进行操作。 函数原型: # include # include key_t ftok(const ch...

by jackylinkage - Linux文档专区 - 2009-10-15 14:46:15 阅读(1043) 回复(0)

相关讨论

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6483 www 15 0 310m 45m 34m S 3.0 0.6 0:15.70 php-cgi 6596 www 15 0 314m 50m 34m S 3.0 0.6 0:15.69 php-cgi 7843 www 15 0 317m 43m 36m S 3.0 0.5 0:18.80 php-cgi 9055 www 15 0 322m 46m ...

by kuaifeidao - Linux系统管理 - 2010-12-15 11:44:53 阅读(2394) 回复(2)

今天修改eAccelerator配置的时候需要修改sysctl.conf里面的共享内存大小,发现个奇怪的问题 kernel.shmmax = 68719476736 默认就是64G 可是看到很多论坛上的配置都是说默认是16M 32M 64M啥的 呵呵,不知道这默认设置设置的这么大,对软件的执行有啥影响不。。。

by kuaifeidao - Linux系统管理 - 2010-12-14 18:51:16 阅读(3990) 回复(3)

概述 如果想在Apache/EAPI中具有共享内存的支持,那么就要建立MM共享内存库。在这种情况下,它将允许mod_ssl使用一种高效的基于RAM的会话(session)缓存代替基于磁盘的会话缓存。 注意事项 下面所有的命令都是Unix兼容的命令。 源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。 安装在RedHat linux 6.1下测试通过。 要用“root”用户进行安装。 Mm 的版本号是1.0.12。 软件包的来源 ...

by 南非蜘蛛 - 服务器应用 - 2003-05-08 23:00:32 阅读(3347) 回复(2)

linux在进程间共享内存时,通过shmget申请内存块之后,还需要将内存映射至进程空间中。shmat函数原型如下: shmat(int shmid, const void* shmaddr, int shmflg); 若shmaddr=0时,则将由系统自用映射至进程共享内存段,但,根据进程在内存的分配情况,即: +----------------+ + system space + +----------------+ + stack seg + +----------------+ + heap seg + +----------------+ + data seg + +-...

by icanth - Linux环境编程 - 2012-03-22 13:49:36 阅读(1599) 回复(0)

本帖最后由 parrot18 于 2011-11-02 16:52 编辑 最近遇到一个很奇怪的问题,尝试父子进程之间共享内存进行进程间通信,使用的是SYSTEM V API,shmget系列 部分源代码如下:[code]//下面是顺序存储队列和队列一些操作的定义,准备使用这个队列来进行进程间的信息存取 typedef struct queue { unsigned char buffer[64][128]; int front, rear; int buf_size; }QUEUE; //初始化队列 void initQueue(QUEUE* cache) { cache->f...

by parrot18 - 嵌入式开发 - 2011-11-02 16:51:17 阅读(1601) 回复(0)

原文 共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队...

by davycu - Linux文档专区 - 2009-06-09 17:29:24 阅读(950) 回复(0)

共享内存(Shared Memory) 共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不...

by tuyer - Linux文档专区 - 2008-09-27 10:43:49 阅读(638) 回复(0)

本文标签(Tag) linux 进程通信 共享内存 共享内存(Shared Memory) 共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而 可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区...

by ToDDY - Linux文档专区 - 2008-05-30 10:59:03 阅读(815) 回复(0)

用shmget创建共享内存,用作IPC,其中存储自定义的数据结构,发现一个百思不解的问题: 一个进程向共享区拷贝所有成员都初始化了的这个数据结构,用的memcpy,但另一进程收到的数据结构(用memcpy拷贝)仅仅只有前两个成员和初始化时的值相同,其它成员均为0,进程间互斥的问题都做了。请问这是怎么回事?如何解决?

by cyx__2006 - Linux环境编程 - 2008-05-15 19:34:55 阅读(1702) 回复(1)

我们可以修改shmmax内核参数,使SGA存在于一个共享内存段中。 通过修改/proc/sys/kernel/shmmax参数可以达到此目的。 [root@neirong root]# echo 1073741824 > /proc/sys/kernel/shmmax [root@neirong root]# more /proc/sys/kernel/shmmax 1073741824这里设为1G。 对于shmmax文件的修改,系统重新启动后会复位。可以通过修改 /etc/sysctl.conf 使更改永久化。 在该文件内添加以下一行 kernel.shmmax = 1073741824 这个更改在...

by hong_760 - Linux文档专区 - 2008-04-06 08:56:49 阅读(903) 回复(0)