终于解决了mmap的问题

 困扰已久的mmap问题终于得到了解决,原来在freebsd下data seg size设置的越大,留给mmap的共享数据区就越小,不过对于修改data seg size还是不擅长。ulimit -d N只能修改当前用户的data seg size限制,su到root后却找不到ulimit命令,而whereis查不到ulimit的路径,真是怪事连连有,今日何其多。为了能让 apache进程用上共享内存,只得修改内核的配置,在freebsd下可以通过修改/boot/loader.conf.local中 kern.dfldsiz和kern.maxdsiz的大小来改变data seg size,然后必须reboot机器。
当然也可以通过修改内核的方式,方法在/usr/src/sys/i386/conf/GENERIC添加如下两行(这里我将data seg size修改为了400MB)
options MAXDSIZ="(400*1024*1024)"
options DFLDSIZ="(400*1024*1024)"

然后从新生成内核配置,并重新编译安装
这个问题的解决得感谢我的老大及我老大以前的老大,牛人啊!

 

这个问题解决了,但离光明还差那么一点点,在使用unix的多线程的时候,原来的包在生成的时候需要加上-pthread参数,可是在其他包动态链接生成 的包编译时还是必须加上这一参数,这让我郁闷万分:( ,因为习惯了使用config自动生成的makefile,加上这一参数特不方便!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值