歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> FreeBSD 核心參數

FreeBSD 核心參數

日期:2017/2/27 17:44:07   编辑:Unix教程
FreeBSD
  核心中許多參數的值都是根據核心設定檔中的設定值而來的,在您編譯好核心之後,它們就都已經靜態的定義在核心中。如果您想更新核心中某個參數值,您不一定要重新編譯核心,您可以透過 /boot/loader.conf 設定檔或 /etc/sysctl.conf 設定文件或 /usr/sbin/sysctl 指令來變更,設定文件與指令的差別在於設定文件模式於開機後依然適用,指令模式則僅限於本次開機,重新開機後便回復核心中的設定值,若要變更需再重新設定過。
  關於 /boot/loader.conf 的部份,我們就不再多談了。
  /etc/sysctl.conf 是在系統要進入『多人模式』前讀取的,它的設定格式是「類別.名稱=設定值」,如︰
  kern.maxfiles=1064
  hw.bt848.tuner=9
  
   sysctl -a 指令會顯示出所有的核心參數,如︰
  shell# sysctl -akern.ostype: FreeBSDkern.osrelease: 4.5-RELEASE-p19kern.osrevision: 199506kern.version: FreeBSD 4.6.2-RELEASE #13: Sat Sep 7 06:29:59 CST 2002 [email protected]:/usr/obj/usr/src/sys/WEONkern.maxvnodes: 4428kern.maxproc: 532kern.maxfiles: 1064kern.argmax: 65536-- 省略 --p1003_1b.mq_open_max: 0p1003_1b.pagesize: 4096p1003_1b.rtsig_max: 0p1003_1b.sem_nsems_max: 0p1003_1b.sem_value_max: 0p1003_1b.sigqueue_max: 0p1003_1b.timer_max: 0jail.set_hostname_allowed: 1jail.socket_unixiproute_only: 1jail.sysvipc_allowed: 0shell #
  內容滿長的,您可以利用 shell# sysctl -a | more 指令來分頁觀看。
   sysctl <參數名稱> 則僅顯示該參數的名稱與數值,如︰
  shell# sysctl kern.maxfileskern.maxfiles: 1064shell#
  如果您寫的 shell scripts 有需要讀取核心的參數值,您可以利用
   sysctl -n <參數名稱> 或 sysctl -N <參數名稱> 指令,兩者的差別如下︰
  shell# sysctl -n kern.maxfiles1064shell#shell# sysctl -N kern.maxfileskern.maxfilesshell#
  不知您有體會出什麼了嗎 ^_^
   sysctl <參數名稱>=<設定值> 這個指令可以讓您線上修改核心參數的設定值,如︰
  shell# sysctl kern.hostnamekern.hostname: uah.weonfu.netshell# sysctl kern.hostname=www.weonfu.netkern.hostname: uah.weonfu.net -> www.weonfu.net shell# sysctl kern.maxprockern.maxproc: 532shell# sysctl kern.maxproc=1000sysctl: oid 'kern.maxproc' is read onlyshell#
  如果您的版本是比較舊版的,如 FreeBSD 3.x 您可能會需要加個 -w 的參數;有些核心參數是可以變更的,但有些則不行,您可以 shell# man sysctl 來查看更詳細的指令參數以及可變更的參數名稱。
  注意︰隨意變更核心參數是很容易造成系統當機的,請特別小心使用!!
  
  
  
Copyright © Linux教程網 All Rights Reserved