sysctl 語法:
sysctl [-beNno] name[=value]
sysctl [-beNno] -a
參數:
-a 顯示目前的sysctl設定值。
-b 強制將輸入結果轉換成為binary格式。
-e 用=分隔,變數名稱及變數值。(預設分隔為:)
-N 只顯示變數的名稱,不顯示變數值。
-n 只顯示變數值,不顯示變數名稱。
-o 顯示隱藏的變數。
sysctl可以查看系統資訊
# 顯示所有可以透過sysctl設定的kernel狀態變數值
kernel的設定檔是在/etc/sysctl.conf
sysctl -a more
開機的時候系統會先去這裡讀管理者設定了什麼
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
留言列表