国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > FreeBSD > 正文

FreeBSD handbook中文版 6 配置與調(diào)整

2024-07-26 00:29:06
字體:
供稿:網(wǎng)友
目錄
6 配置與調(diào)整
6.1 概要
6.2 初步配置
6.3 核心配置
6.4 應(yīng)用程序配置
6.5 啟動(dòng)服務(wù)
6.6 虛擬主機(jī)
6.7 配置文件
6.8 用sysctl 調(diào)整
6.9 調(diào)整磁盤
6.10 調(diào)整內(nèi)核限制
=============================================================

(翻譯中出現(xiàn)的任何問題或錯(cuò)誤,請廣大讀者及時(shí)反饋給我:freebsdhandbook@163.com) 
6.1 概要
FreeBSD 系統(tǒng)管理配置的情況。這章也會(huì)描述一些用來調(diào)整FreeBSD 系統(tǒng)性能的參數(shù)。









6.2 初步配置
6.2.1 分區(qū)設(shè)計(jì)
6.2.1.1 基礎(chǔ)分區(qū)
磁道傳輸數(shù)據(jù)要比從內(nèi)磁道傳輸數(shù)據(jù)來得快,這一點(diǎn)很重要。記住這點(diǎn),你可以把比較小的, 
FreeBSD 使用手冊
II. 系統(tǒng)管理
第6 章配置與調(diào)整
正確地配置系統(tǒng)能充分地減少以后維護(hù)和升級(jí)系統(tǒng)所需的工作量。這章將描述一些
讀完這章你將了解到這些: 
為什么和如何在你的硬盤上分配空間,規(guī)劃和放置文件系統(tǒng)和交換分區(qū)。
rc.conf 配置文件和/usr/local/etc/rc.d啟動(dòng)系統(tǒng)的基礎(chǔ)。
如何在你網(wǎng)絡(luò)設(shè)備上分配虛擬主機(jī)。
如何在/etc上使用不同的配置。
如何使用sysctl 變量調(diào)節(jié)FreeBSD。
如何調(diào)整磁盤的性能和修改內(nèi)核的限制。
在閱讀這章之前你應(yīng)當(dāng): 
了解UNIX 和FreeBSD 的基礎(chǔ)知識(shí)(第3 章)。
熟悉如何與FreeBSD 的源文件保持同步。
內(nèi)核配置和編譯的基礎(chǔ)(第9 章)。
當(dāng)使用disklabel 或sysinstall 命令劃分你的文件系統(tǒng)時(shí),需要記住硬盤驅(qū)動(dòng)器從外
第1 頁FreeBSD 使用手冊
經(jīng)常訪問的如root 和swap 放在靠近外磁道的地方。可以把比較大的分區(qū)如/usr放在內(nèi)磁
道上。這樣做,按照相同的順序創(chuàng)建分區(qū):root,swap,/var,/usr。
你的/var分區(qū)的大小能反映你機(jī)器的使用狀況。/var主要用來存放:郵箱,打印spool 和
日志文件。郵箱和日志文件可能會(huì)達(dá)到一個(gè)無法預(yù)料的數(shù)量,這主要取決于在你的系統(tǒng)上有
多少用戶和你的日志文件可以保存多長時(shí)間。如果你想要運(yùn)行一個(gè)郵件服務(wù)器,一個(gè)超過G 
數(shù)量級(jí)的/var分區(qū)是必要的。另外, /var/tmp要足夠大,以便于能夠包含足夠的你可能會(huì)
添加的packages。
/usr分區(qū)保存了支持系統(tǒng)所需的文件和一個(gè)叫做/usr/local的用來保存從ports 安裝
文件的子目錄。如果你不使用ports 也不希望把系統(tǒng)源代碼保存在機(jī)器上,你可以節(jié)省超過
1G 的/usr分區(qū)。如果你安裝許多ports,我們建議至少要為/usr保留2G 的空間,如果你也
想把系統(tǒng)源代碼保存在你的機(jī)器上,我們建議為/usr保留3G 的空間。不要低估了這個(gè)分區(qū)
所需要的空間的大小,它可能會(huì)不斷增加,讓你非常吃驚!當(dāng)你調(diào)整分區(qū)的大小時(shí),記住你
的系統(tǒng)可能會(huì)不斷增加對空間的需求。
注意:一些使用sysinstall 的自動(dòng)默認(rèn)分區(qū)的用戶會(huì)發(fā)現(xiàn),一段時(shí)間以后他們的root 
或/var分區(qū)會(huì)變得很小。建議盡可能把分區(qū)分的大一些。
6.2.1.2 Swap 分區(qū)
通常你的交換分區(qū)應(yīng)當(dāng)是主內(nèi)存的兩倍。例如,如果機(jī)器有128 M 的內(nèi)存,交換分區(qū)應(yīng)
當(dāng)是256MB。帶有比較少內(nèi)存的機(jī)器可以通過增加交換分區(qū)來提高機(jī)器的性能。我們并不建
議你配置少于256MB 的SWAP 分區(qū),你應(yīng)當(dāng)記住將來隨著內(nèi)存的擴(kuò)充,你的swap 分區(qū)也要相
應(yīng)地?cái)U(kuò)大。當(dāng)swap 分區(qū)至少是主內(nèi)存的兩倍時(shí),內(nèi)核的VM 頁面調(diào)度程序?qū)⒈挥脕碚{(diào)節(jié)系統(tǒng)
到最佳狀態(tài)。如果你給你的機(jī)器添加更多的內(nèi)存,配置太少的swap,會(huì)導(dǎo)致在VM 頁面掃描
代碼時(shí)變得效率低下。
最后,在配置有很多SCSI(或IDE)磁盤的較大系統(tǒng)中,我們強(qiáng)烈建議你給每一個(gè)硬盤
都創(chuàng)建一個(gè)SWAP。Swap 分區(qū)應(yīng)當(dāng)擁有同樣的大小。內(nèi)核可能會(huì)處理成任意大小,但內(nèi)部數(shù)
據(jù)結(jié)構(gòu)則是最大swap 分區(qū)的4 倍。保持swap 分區(qū)同樣的大小,可以允許內(nèi)核最佳地調(diào)度
swap 空間來訪問磁盤。不要為此過分擔(dān)心,交換空間正是UNIX 系統(tǒng)的長處。
6.2.1.3 為什么要分區(qū)? 
第2 頁FreeBSD 使用手冊
為什么要分區(qū)?為什么不創(chuàng)建一個(gè)大的根分區(qū)?我并不介意大小問題!有很多原因證實(shí)
這不是一個(gè)好主意。首先,每個(gè)分區(qū)有不同的操作特性,把它們分開可以允許文件系統(tǒng)去自
動(dòng)調(diào)節(jié)自己以適應(yīng)那些特性。例如,根和/usr分區(qū)通常是讀得比較頻繁,寫得比較少,而
象/var和/var/tmp則讀寫都比較頻繁。
6.3 核心配置
負(fù)責(zé)系統(tǒng)配置信息的主要是/etc/rc.conf。這個(gè)文件包含了配置文件很寬的范圍。在系
統(tǒng)啟動(dòng)時(shí)主要被用來配置系統(tǒng)。它的名字直接表明了這點(diǎn);配置信息一般是rc*這樣類型的
文件。一個(gè)系統(tǒng)管理員應(yīng)當(dāng)在rc.conf 文件中建立一個(gè)記錄來修改/etc/defaults/rc.conf 
的默認(rèn)配置。默認(rèn)文件不應(yīng)當(dāng)被逐字地拷到/etc。所有系統(tǒng)的任何變化將被記錄在rc.conf 
文件中。由于rc.conf 可以被sh 命令打開閱讀,所以完成這點(diǎn)很簡單。例如: 
rc.conf: 
· rc.conf.site 
· hostname=”node15.webcompany.com” 
· network_interfaces=”fxp0 lo0” 
· ifconfig_fxp0=”inet 10.1.1.1” 
rc.conf.site: 
· defaultrouter=”10.1.1.254” 
· saver=”daemon” 
· blanktime=”100” 
Rc.conf.site 文件會(huì)被分發(fā)給每一個(gè)使用eg.rsync 的系統(tǒng),而rc.conf 文件仍保持獨(dú)立。
通過使用sysinstall 或make world 來升級(jí)系統(tǒng)不會(huì)覆蓋rc.conf 文件,所以系統(tǒng)配置信
息不會(huì)被丟失。
第3 頁FreeBSD 使用手冊
6.4 應(yīng)用程序配置
典型的,已安裝的應(yīng)用程序有它自己的配置文件,有它自己的語法。這些文件與基本系
統(tǒng)相分離是很重要的,以至于它們能被package 管理工具很好地定位和管理。另外,這些文
件被安裝在/usr/local/etc中。一個(gè)應(yīng)用程序有許多配置文件,一個(gè)子目錄將被創(chuàng)建以支
持它們。
通常,當(dāng)一個(gè)port 或package 被安裝時(shí),默認(rèn)的配置文件也會(huì)被安裝。這些通常可以
通過.default 后綴來辨別。如果不存在應(yīng)用程序的配置文件,他們會(huì)通過拷貝.default 文
件來創(chuàng)建。例如, 這兒是/usr/local/etc/apache: 
· rw-r—r-- 1 root wheel 2184 May 20 1998 access.conf 
· rw-r—r-- 1 root wheel 2184 May 20 1998 access.conf.default 
· rw-r—r-- 1 root wheel 9555 May 20 1998 httpd.conf 
· rw-r—r-- 1 root wheel 9555 May 20 1998 httpd.conf.default 
· rw-r—r-- 1 root wheel 12205 May 20 1998 magic 
· rw-r—r-- 1 root wheel 12205 May 20 1998 magic.default 
· rw-r—r-- 1 root wheel 2700 May 20 1998 mime.types 
· rw-r—r-- 1 root wheel 2700 May 20 1998 mime.types.default 
· rw-r—r-- 1 root wheel 7980 May 20 1998 srm.conf 
· rw-r—r-- 1 root wheel 7933 May 20 1998 srm.conf.default 
可以看到只有srm.conf 文件已發(fā)生了變化。一個(gè)后來的apache 的升級(jí)不會(huì)修改這個(gè)變
化的文件。
6.5 啟動(dòng)服務(wù)
對一個(gè)系統(tǒng)來說,支持許多服務(wù)是很普通的。這些可能是用不同的形式來啟動(dòng),每一個(gè)
都有不同的長處。
第4 頁一個(gè)port 或packages collection 安裝軟件通常把一個(gè)腳本放在/usr/local/etc/rc.d中, 
它可以在系統(tǒng)啟動(dòng)的時(shí)候被自動(dòng)調(diào)用,在系統(tǒng)關(guān)閉的時(shí)候自動(dòng)停止。這是一種我們推薦使用
的啟動(dòng)服務(wù)的方法。這些腳本會(huì)作為安裝package 的一部分被注冊,當(dāng)package 被刪除的時(shí)
候它也會(huì)被刪除。在/usr/local/etc/rc.d中,一個(gè)普通的啟動(dòng)腳本是這樣的: 
#!/bin/sh 
echo -n ‘ FooBar’ 
case “$1” in 
start) 
/usr/local/bin/foobar 
;; 
stop) 
kill -9 ‘cat /var/run/foobar.pid‘ 
;; 
*) 
echo “Usage: ‘basename $0‘ {start|stop}” >&2 
exit 64 
;; 
esac 
exit 0 
這個(gè)腳本隨著系統(tǒng)的啟動(dòng)而被呼叫,隨著系統(tǒng)的關(guān)閉而停止。當(dāng)一個(gè)連接被一個(gè)相配的
port 接收到時(shí),一些服務(wù)會(huì)被inetd 所調(diào)用。這個(gè)對郵件閱讀服務(wù)器來說使用比較普遍
(POP,IMAP 等)。這些服務(wù)可以通過編輯/etc/inetd.conf文件來啟用。可以看看inetd 
命令的說明就可以了。
FreeBSD 使用手冊
第5 頁FreeBSD 使用手冊
一些額外的系統(tǒng)功能不太可能會(huì)被隱藏在/etc/rc.conf中。這些通常能夠使用命令來
調(diào)用它們。就象在FreeBSD3.1 中,沒有默認(rèn)的/etc/rc.local。如果它被系統(tǒng)管理員創(chuàng)建, 
它將不可能以普通的形式得到尊重。注意rc.local 通常被作為是最后一個(gè)訪問的記錄;如
果有一個(gè)比較好的地方能啟動(dòng)一個(gè)服務(wù),就是在那兒。
注意:不要把任何命令都放在/etc/rc.conf 中。要啟動(dòng)后臺(tái)程序,或在啟動(dòng)時(shí)運(yùn)行任
何命令,可以在/usr/local/etc/rc.d 中添加一行腳本。
使用cron 程序來啟動(dòng)系統(tǒng)服務(wù)也是可以的。這種方法有很多優(yōu)勢,不僅僅是cron 能運(yùn)
行這些進(jìn)程,這些服務(wù)也可以被沒有root 權(quán)限的用戶來啟動(dòng)和操作。
這利用了cron 的一個(gè)非正式文件的特性;時(shí)鐘的形式可能會(huì)被“@reboot”這種形式所
取代,當(dāng)系統(tǒng)啟動(dòng)以后,cron 程序被很快執(zhí)行,這將導(dǎo)致工作暫停運(yùn)行。
6.6 虛擬主機(jī)
FreeBSD 的一個(gè)非常普通的應(yīng)用是虛擬主機(jī)功能,一臺(tái)服務(wù)器可以虛擬成多臺(tái)服務(wù)器來
提供網(wǎng)絡(luò)服務(wù)。這只需要分配多個(gè)網(wǎng)絡(luò)地址給一個(gè)簡單的接口就可以實(shí)現(xiàn)。
一個(gè)給定的網(wǎng)絡(luò)接口有一個(gè)“real”地址,也會(huì)有很多“alias”地址。這些別名通常
被添加到/etc/rc.conf 中。
一個(gè)接口“fxp0”的別名記錄是這樣的: 
ifconfig_fxp0_alias0=“inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx” 
注意:別名記錄必須用alias0 啟動(dòng),然后按順序向上處理,如_alias1,_alias2 等。
配置進(jìn)程將在第一個(gè)丟失的數(shù)字時(shí)停止。別名的子網(wǎng)掩碼的計(jì)算是很重要的,但幸運(yùn)的是它
非常簡單。對于一個(gè)給定的接口,必須有一個(gè)正確反映網(wǎng)絡(luò)的子網(wǎng)掩碼的地址。
例如:假設(shè)fxp0 接口連接到兩個(gè)網(wǎng)絡(luò),10.1.1.0 的子網(wǎng)掩碼是255.255.255.0,而
202.0.75.16 的子網(wǎng)掩碼是255.255.255.240。我們要求系統(tǒng)顯示從10.1.1.1 到10.1.1.5 
和202.0.75.17 到202.0.75.20。
要正確配置適配器可以這樣做: 
ifconfig_fxp0=”inet 10.1.1.1 netmask 255.255.255.0” 
ifconfig_fxp0_alias0=”inet 10.1.1.2 netmask 255.255.255.255” 
第6 頁FreeBSD 使用手冊
ifconfig_fxp0_alias1=”inet 10.1.1.3 netmask 255.255.255.255” 
ifconfig_fxp0_alias2=”inet 10.1.1.4 netmask 255.255.255.255” 
ifconfig_fxp0_alias3=”inet 10.1.1.5 netmask 255.255.255.255” 
ifconfig_fxp0_alias4=”inet 202.0.75.17 netmask 255.255.255.240” 
ifconfig_fxp0_alias5=”inet 202.0.75.18 netmask 255.255.255.255” 
ifconfig_fxp0_alias6=”inet 202.0.75.19 netmask 255.255.255.255” 
ifconfig_fxp0_alias7=”inet 202.0.75.20 netmask 255.255.255.255” 
6.7 配置文件
6.7.1 /etc 規(guī)劃
在配置信息中有很多的目錄。這些包括: 
一般的系統(tǒng)配置信息:這兒的數(shù)據(jù)是系統(tǒng)指定的。/etc 
系統(tǒng)配置文件的默認(rèn)版本。/etc/defaults 
額外的sendmail 配置,其他MTA 配置文件。/etc/mail 
/etc/ppp PRograms.user-和kernel-ppp 程序的配置。
/etc/namedb Bind 數(shù)據(jù)的默認(rèn)定位。通常啟動(dòng)文件是定位在這兒,在/var/db 中
參考其他數(shù)據(jù)的一個(gè)指示。
安裝應(yīng)用程序的配置文件。可以參考每個(gè)應(yīng)用程序的子目錄。/usr/local/etc 
/usr/local/etc/rc.d 安裝應(yīng)用程序的啟動(dòng)/停止的腳本。
穩(wěn)定的系統(tǒng)指定的數(shù)據(jù)文件:bind 區(qū)域文件,數(shù)據(jù)庫文件等等。/var/db 
6.7.2 主機(jī)名
6.7.2.1 /etc/resolv.conf 
/etc/resolv.conf 描述了FreeBSD 如何訪問internet 的域名系統(tǒng)(DNS)。最普通的
resolv.conf 的記錄是: 
nameserver 要查詢的域名服務(wù)器的ip 地址。服務(wù)器按照順序查詢。
搜索域名的列表。這通常是由本地的域名決定的。search 
本地域名。domain 
第7 頁FreeBSD 使用手冊
一個(gè)典型的resolv.conf: 
search foobar.com 
nameserver 147.11.1.11 
nameserver 147.11.100.30 
Dhclient 通常會(huì)把DHCP 服務(wù)器接收到的信息重寫resolv.conf。
6.7.2.2 /etc/hosts 
/etc/hosts 是一個(gè)文本數(shù)據(jù)庫。它是用來聯(lián)合DNS 和NIS 給IP 地址的影射表提供名字。
本地的電腦通過一個(gè)LAN 進(jìn)行連接,可能會(huì)作為一個(gè)簡單的命名目的而放在這兒,以代替設(shè)
置一個(gè)名稱服務(wù)器。另外,/etc/hosts 能被用來提供一個(gè)本地internet 名稱的記錄,減少
搜索普通訪問名稱的需求。
# $FreeBSD$ 

# Host Database 
# This file should contain the addresses and aliases 
# for local hosts that share this file. 
# In the presence of the domain name service or NIS, this file may 
# not be consulted at all; see /etc/nsswitch.conf for the resolution order. 


::1 localhost localhost.my.domain myname.my.domain 
127.0.0.1 localhost localhost.my.domain myname.my.domain 

第8 頁FreeBSD 使用手冊
# Imaginary network. 
#10.0.0.2 myname.my.domain myname 
#10.0.0.3 myfriend.my.domain myfriend 

# According to RFC 1918, you can use the following IP networks for 
# private nets which will never be connected to the Internet: 

# 10.0.0.0 - 10.255.255.255 
# 172.16.0.0 - 172.31.255.255 
# 192.168.0.0 - 192.168.255.255 

# In case you want to be able to connect to the Internet, you need 
# real official assigned numbers. PLEASE PLEASE PLEASE do not try 
# to invent your own network numbers but instead get one from your 
# network provider (if any) or from the Internet Registry (ftp to 
# rs.internic.net, directory ‘/templates’). 

/etc/hosts 的簡單格式: 
[Internet address] [offical hostname] [alias1] [alias2] ... 
例如: 
10.0.0.1 myRealHostname.foobar.com myRealHostname foobar1 foobar2 
第9 頁FreeBSD 使用手冊
6.7.3 日志文件配置
6.7.3.1 syslog.conf 
Syslog.conf 是syslogd 程序的配置文件。它指出記錄到日志文件的syslog 信息的類
型。
# $FreeBSD$ 

# Spaces ARE valid field separators in this file. However, 
# other *nix-like systems still insist on using tabs as field 
# separators. If you are sharing this file between systems, you 
# may want to use only tabs as field separators here. 
# Consult the syslog.conf manpage. 
*.err;kern.debug;auth.notice;mail.crit /dev/console 
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages 
security.* /var/log/security 
mail.info /var/log/maillog 
lpr.info /var/log/lpd-errs 
cron.* /var/log/cron 
*.err root 
*.notice;news.err root 
*.alert root 
*.emerg * 
# uncomment this to log all writes to /dev/console to /var/log/console.log 
第10 頁FreeBSD 使用手冊
#console.info /var/log/console.log 
# uncomment this to enable logging of all log messages to /var/log/all.log 
#*.* /var/log/all.log 
# uncomment this to enable logging to a remote loGhost named loghost 
#*.* @loghost 
# uncomment these if you’re running inn 
# news.crit /var/log/news/news.crit 
# news.err /var/log/news/news.err 
# news.notice /var/log/news/news.notice 
!startslip 
. /var/log/slip.log 
!ppp 
. /var/log/ppp.log 
6.7.3.2 newsyslog.conf 
Newsyslog.conf 是newsyslog 程序的配置文件。一個(gè)被cron newsyslog 安排來運(yùn)行的
程序決定了什么時(shí)候日志文件要求重新存檔或整理。Logfile 會(huì)被改為logfile.1, 
logfile.1 會(huì)被改為logfile.2 等等。另外,日志文件會(huì)用gzip 格式進(jìn)行存檔。它們是這
樣命名的:logfiel.0.gz,logfile.1.gz 等等。
Newsyslog.conf 指出了哪個(gè)文件需要被管理,有多少需要被保存,什么時(shí)候他們會(huì)被
調(diào)用。當(dāng)他們達(dá)到一定大小或到一個(gè)適當(dāng)?shù)闹芷跁r(shí),日志文件需要被重新整理。
# configuration file for newsyslog 
# $FreeBSD$ 

第11 頁FreeBSD 使用手冊
# logfilename [owner:group] mode count size when [ZB] [/pid_file] 
[sig_num] 
/var/log/cron 600 3 100 * Z 
/var/log/amd.log 644 7 100 * Z 
/var/log/kerberos.log 644 7 100 * Z 
/var/log/lpd-errs 644 7 100 * Z 
/var/log/maillog 644 7 * @T00 Z 
/var/log/sendmail.st 644 10 * 168 B 
/var/log/messages 644 5 100 * Z 
/var/log/all.log 600 7 * @T00 Z 
/var/log/slip.log 600 3 100 * Z 
/var/log/ppp.log 600 3 100 * Z 
/var/log/security 600 10 100 * Z 
/var/log/wtmp 644 3 * @01T05 B 
/var/log/daily.log 640 7 * @T00 Z 
/var/log/weekly.log 640 5 1 $W6D0 Z 
/var/log/monthly.log 640 12 * $M1D0 Z 
/var/log/console.log 640 5 100 * Z 
6.7.4 sysctl.conf 
第12 頁FreeBSD 使用手冊
Sysctl.conf 看起來象rc.conf。它的值以這種形式來設(shè)置:variable=value。指定的
值需要在進(jìn)入多用戶模式時(shí)才能被設(shè)置。在這種模式中不是所有的變量都能被設(shè)置。
一個(gè)sysctl.conf 關(guān)閉引起重大錯(cuò)誤產(chǎn)生的日志,然后讓linux 程序知道他們真的運(yùn)行
在FreeBSD 下面。
kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) 
compat.linux.osname=FreeBSD 
compat.linux.osrelease=4.3-STABLE 
6.8 用sysctl 進(jìn)行調(diào)整
sysctl 是一個(gè)允許你對一個(gè)運(yùn)行著的FreeBSD 系統(tǒng)進(jìn)行修改的接口。這包括許多TCP/IP 
堆棧和虛擬內(nèi)存系統(tǒng)的高級(jí)選項(xiàng),它通常可以為一個(gè)有經(jīng)驗(yàn)的系統(tǒng)管理員提高系統(tǒng)的性能。
能夠使用sysctl 來閱讀和設(shè)置超過5 百個(gè)系統(tǒng)變量。
基于這點(diǎn),sysctl 起到兩個(gè)功能:閱讀和修改系統(tǒng)設(shè)置。去看看所有可讀的變量: 
% sysctl -a 
閱讀一個(gè)詳細(xì)的變量,例如, kern.maxproc: 
% sysctl kern.maxproc 
kern.maxproc: 1044 
設(shè)置一個(gè)特殊的變量,使用=選項(xiàng): 
# sysctl kern.maxfiles=5000 
kern.maxfiles: 2088 -> 5000 
Sysctl 變量的設(shè)置通常不是字符,數(shù)字,就是布爾類型的。一個(gè)布爾類型的樹1 代表
yes,0 代表no。
6.9 調(diào)整磁盤
6.9.1 Sysctl 變量
6.9.1.1 vfs.vmiodirenable 
第13 頁FreeBSD 使用手冊
vfs.vmiodirenable sysctl 變量默認(rèn)為0(off),也可以被設(shè)置成0 或1。很多目錄
是比較小,只使用一小片段(典型的:1k),甚至更少(典型的:512 bytes)。然而,當(dāng)
在默認(rèn)的模式下操作時(shí),即使你有很多內(nèi)存,緩存器只緩存一些固定的目錄。打開這個(gè)
sysctl 可以允許緩存器使用VM 頁面緩存來緩存目錄。這樣的優(yōu)勢是所有的內(nèi)存都能被緩存
目錄所利用。不利的是最小的用來緩存目錄的核心內(nèi)存要大于512 bytes(典型的是:4K)。
如果你運(yùn)行有大量文件處理的服務(wù)時(shí),我們建議把這個(gè)選項(xiàng)打開。這樣的服務(wù)包括web 緩存、
大郵件系統(tǒng)和新聞系統(tǒng)。打開這項(xiàng)服務(wù)通常不會(huì)降低系統(tǒng)的性能,只是會(huì)浪費(fèi)一點(diǎn)內(nèi)存,但
你要仔細(xì)檢查一下。
6.9.1.2 hw.ata.wc 
FreeBSD 通常把IDE 寫入緩存關(guān)閉掉。這可以減少寫入磁盤時(shí)需要的帶寬。基本上,當(dāng)
寫入完成后,IDE 基本上就沒事了。由于IDE 寫入緩存被打開,IDE 驅(qū)動(dòng)器將不再按順序把
數(shù)據(jù)寫入到硬盤中。當(dāng)磁盤處于比較大的負(fù)荷時(shí),它們通常能緩沖寫入的數(shù)據(jù)。不幸的是, 
這樣會(huì)丟失很多性能,最好還是改回默認(rèn)值。你應(yīng)當(dāng)通過觀察hw.ata.wc sysctl 變量來檢
查你的系統(tǒng)的默認(rèn)情況。如果IDE 的寫入緩存被關(guān)閉,你可以在內(nèi)核變量中把它改回1 就可
以把它打開。這必須在啟動(dòng)時(shí)從引導(dǎo)程序過程中進(jìn)行。在內(nèi)核啟動(dòng)之后再這樣做就沒有用了。
6.9.2 SoftUpdates 
Tunefs 能被用來很好地調(diào)整文件系統(tǒng)。可以這樣做: 
# tunefs -n enable /filesystem 
# tunefs -n disable /filesystem 
一個(gè)文件系統(tǒng)當(dāng)被掛上的時(shí)候不能使用tunefs 進(jìn)行修改。在單用戶模式下,在所有分
區(qū)都沒有被掛上之前,起用SoftUpdates 是最佳時(shí)機(jī)。
通過使用內(nèi)存緩沖器,SoftUpdates 能夠極大地提高文件的性能,只要是文件創(chuàng)建和刪
除。我們建議在你的所有文件系統(tǒng)上都打開SoftUpdates。你應(yīng)當(dāng)清楚兩點(diǎn):第一, 
SoftUpdates 能在系統(tǒng)出現(xiàn)錯(cuò)誤時(shí)保證系統(tǒng)的一致性,但在升級(jí)了物理磁盤后可能只需要幾
秒鐘。如果你的系統(tǒng)崩潰了,你可能會(huì)丟失很多的工作。第二,SoftUpdates 可以推遲文件
系統(tǒng)塊的釋放時(shí)間。如果你有一個(gè)接近滿了的文件系統(tǒng),對它作一個(gè)主升級(jí),make 
installworld,可能會(huì)超出運(yùn)行空間,從而引起升級(jí)失敗。
第14 頁FreeBSD 使用手冊
6.10 調(diào)整內(nèi)核限制
6.10.1 文件/進(jìn)程限制
6.10.1.1 kern.maxfiles 
kern.maxfiles 可以根據(jù)你系統(tǒng)的要求加大或減小。這個(gè)變量指出了在你系統(tǒng)上描述的
最大數(shù)量文件。可以用dmesg 來顯示文件描述符的情況。
每一個(gè)打開的文件,套接字,或fifo 使用的文件描述符,都依賴于當(dāng)前運(yùn)行的服務(wù)的
種類和數(shù)量。
kern.maxfile 的默認(rèn)值可以在你的內(nèi)核配置中通過maxusers 選項(xiàng)來指定。
kern.maxfiles 可以按比例地增加maxuser 的值。
6.10.2 網(wǎng)絡(luò)限制
NMBCLUSTERS 內(nèi)核配置選項(xiàng)指出了系統(tǒng)可用的網(wǎng)絡(luò)mbufs 的數(shù)量。一個(gè)具有大量負(fù)載的
服務(wù)器如果MBUFs 比較少,就會(huì)影響FreeBSD 的性能。每一個(gè)cluster 大概需要2K 的內(nèi)存, 
所以1024 個(gè)cluster 就需要保留2MB 的內(nèi)存給網(wǎng)絡(luò)緩存。如果你的服務(wù)器超過一個(gè)并發(fā)連
接,那每個(gè)連接需要吃掉一個(gè)16k 的接收緩存和一個(gè)16K 的發(fā)送緩存,你需要提供32MB 的
內(nèi)存給網(wǎng)絡(luò)緩存以確保web 服務(wù)器的穩(wěn)定。一個(gè)最笨的計(jì)算方法是乘以2,所以
32MBx2=64MB/2K =32768。
第15 頁
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漠河县| 临夏县| 墨江| 连云港市| 杭州市| 溆浦县| 武功县| 肥乡县| 东乡| 西昌市| 高州市| 子长县| 古交市| 巩义市| 雅安市| 铜梁县| 甘洛县| 南部县| 临夏市| 环江| 安达市| 磴口县| 青阳县| 古交市| 平泉县| 板桥市| 盐边县| 双牌县| 崇阳县| 永年县| 清镇市| 昭苏县| 苍南县| 吉木乃县| 沂水县| 岐山县| 临沧市| 长顺县| 南澳县| 五大连池市| 五华县|