看板 PttCurrent 關於我們 聯絡資訊
先說明我的環境: 硬體:AMD 3600+ x2 with 2Gb ddr2 ram OS: CentOS 5.2 x86_64版本 pttbbs版本:不知,2009/10/21用wget抓的 狀況:依照doc/INSTALL, doc/ADVANCE, doc/FAQ裡面的說明全部安裝好後,下指令: shmctl init 得到以下訊息: loading uhash... shmget: Cannot allocate memory [shmget error] key = 4cc errno = 2: No such file or directory 這到底是缺了什麼檔案或目錄呢? 參考ptt2的PttSrc版1106篇中scwg大貼出的man page提示,猜想或許是我自己手賤將 pttbbs.conf兩個有關shared memory的設定啟用的關係: #define USE_HUGETLB #define SHMALIGNEDSIZE (1048576*4) 把這兩行註解掉後重新編譯就解決了。 不過,這就讓我對HUGETLB產生興趣了,查了一下網路文件後以以下步驟實作: 1. 設定HUGETLB的分頁數為20(每一分頁大小為2MB)(數量請依照個人機器狀況調整) # sysctl -w vm.nr_hugepages=10 2. 將bbsadm所屬group的GID 999設為可使用HUGETLB # sysctl -w vm.hugetlb_shm_group=999 3. 將bbsadm的memlock設為unlimited,在/etc/security/limit.conf中加入一行: bbsadm - memlock unlimited 4. 將pttbbs.conf中的: #define USE_HUGETLB #define SHMALIGNEDSIZE (1048576*4) 前的//去掉後重新編譯即可。重新編譯前要先make clean 小弟只是個初學者,如有謬誤請多指教。謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.164.247