MacOSX 下設定 ulimit

2009/10/16
~ 阿亮 ~

最近寫一個 Network Programming 的程式,發現在 Mac 一些預設條件會不夠用,需要調一下。

在 MacOSX 10.5.X 下的 ulimit,可用

sudo launchctl limit

得到一些詳細列表,如下表

        cpu         unlimited      unlimited      
        filesize    unlimited      unlimited      
        data        6291456        unlimited      
        stack       8388608        67104768       
        core        0              unlimited      
        rss         unlimited      unlimited      
        memlock     unlimited      unlimited      
        maxproc     512            1024           
        maxfiles    512            unlimited

如果要調,只要用 root 身分改 /etc/launchd.conf 即可,如下

limit maxproc   512 1024

看要調哪個參數,重新開機即可。

但其中 stack 預設 8M 不能用這個來調,若需要,可針對各別程式在 compile 過程給予。

 

另外 ulimit -p 調 pipe size 的部份,根據此篇 ,是不能調的,因為程式也會依系統 compile 時,有相依性。

一般 Linux 下 pipe size 有 8*512b,但在 MacOSX 下就只有 1*512b 了,如果有那種 200 個 cat 文字 stdout 導到 pipe write end,而很久之後才接收 pipe read end 的話,在 MacOSX 下就很容易"爆"了,因為隨便一個文件都會超過 512b。

 

當然,實際的應用很少這樣吧,一般都是 pipe read/write 都接通時,才會傳資料的。

 

20100124 Update.

shmget  是有上限的,可以用下述方法查得

sysctl -a |grep shmmax

這個是可以調的,比如要調成 1G

sudo sysctl -w kern.sysv.shmmax=1073741824
sudo sysctl -w kern.sysv.shmall=1073741824


歡迎留言

敝站會審核留言的適宜性,您的留言可能會較晚發佈,而且小弟保留刪除的權利!!

站內搜尋



本站其他服務

本站其他軟體



  • 藝文快訊

    讓你可以輕鬆追蹤含有您想要關注關鍵詞的任何藝文活動訊息,只要有最新的資訊,「藝文快訊」即會推播通知給你.


  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵


  • 下一班公車(nextBus)

    這個 app 只要開啟後,就根據定位幫你過濾出附近站牌的時刻表,以及提供相關公車預計到站的時間,方便您在很快時間內確定要坐的哪一班公車


  • 下一班火車 (nextRail)

    這個 app 只要開啟後,就根據定位幫你過濾出最近火車站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班火車


  • 台灣空污警報(AirInfo)

    設定特定站點為推播通知關注點後,當該站點空氣品質變糟時,即時推播通知給您。另外提供站點附近基本天氣預測資料。


  • 姓名筆畫吉凶查詢系統

    這是一個提供中文字康熙筆畫的小軟體,並根據農民曆計算每個名字或公司名的總筆畫以及最後的吉凶數,共有四種模式