close

sysctl 語法:

sysctl [-beNno] name[=value]
sysctl [-beNno] -a 

參數: 

-a 顯示目前的sysctl設定值。
-b 強制將輸入結果轉換成為binary格式。
-e 用=分隔,變數名稱及變數值。(預設分隔為:)
-N 只顯示變數的名稱,不顯示變數值。
-n 只顯示變數值,不顯示變數名稱。
-o 顯示隱藏的變數。

sysctl可以查看系統資訊
# 顯示所有可以透過sysctl設定的kernel狀態變數值
sysctl -a more
kernel的設定檔是在/etc/sysctl.conf
開機的時候系統會先去這裡讀管理者設定了什麼
32bit的系統有記憶體最大量限制 4GB RAM (2^32)
但還會被系統拿去做有的沒有的東西
若要讓系統支援更大量的記憶體 除了更換為64bit OS這個選項外 還可以開啟PAE

查看系統資訊

FreeBSD在4.9R, 5.1R 之後版本開始支援PAE
必須透過編譯kernel方式取得
(並非所有驅動程式皆支援超過4GB的RAM,所以這些驅動程式也不能與PAE並存) <-- 這句不太清楚意思

首先要先查看系統抓到了多少的RAM
並且得知現在的機器實體RAM為多少
# 查看RAM相關資訊
dmesg | grep -i mem
# 會顯示實體RAM為多少
sysctl hw.physmem

 

修改PAE

將PAE複製一份出來,避免改錯 cd /sys/i386/conf
cp PAE 檔名

打開剛剛複製的那個檔案並增加相關的OPTION
options MAXMEM="n"
# n = mermory size
# 填入剛剛查的實體RAM大小(KB)

 

重新編譯Kernel

修改完以後用config來檢查是否下錯指令 config 檔名

如果有錯的話它會有錯誤訊息
有warning的話可以先無視
(至少這次弄計中的機器是這樣 :p) cd ../compile/檔名 make cleandepend ; make depend make make install reboot

最常發生錯誤的地方在於 make 步驟
若錯了請檢查PAE取消的相關驅動程式是否是必要驅動

 


Reference:
http://hi.baidu.com/hfr6666/blog/item/0b7164503c58645b1138c214.html
http://ohaha.ks.edu.tw/post/1/49
http://ohaha.ks.edu.tw/post/1/100

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nekolai 的頭像
    nekolai

    EAT, PLAY & EAT!

    nekolai 發表在 痞客邦 留言(0) 人氣()