FreeBSD handbook中文版 6 配置与调整( 五 )


logfile.1 会被改为logfile.2 等等 。另外 , 日志文件会用gzip 格式进行存档 。它们是这
样命名的:logfiel.0.gz,logfile.1.gz 等等 。
Newsyslog.conf 指出了哪个文件需要被管理 , 有多少需要被保存 , 什么时候他们会被
调用 。当他们达到一定大小或到一个适当的周期时 , 日志文件需要被重新整理 。
# 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 。它的值以这种形式来设置:variable=value 。指定的
值需要在进入多用户模式时才能被设置 。在这种模式中不是所有的变量都能被设置 。
一个sysctl.conf 关闭引起重大错误产生的日志 , 然后让Linux 程序知道他们真的运行
在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 进行调整
sysctl 是一个允许你对一个运行着的FreeBSD 系统进行修改的接口 。这包括许多TCP/IP
堆栈和虚拟内存系统的高级选项 , 它通常可以为一个有经验的系统管理员提高系统的性能 。
能够使用sysctl 来阅读和设置超过5 百个系统变量 。
基于这点 , sysctl 起到两个功能:阅读和修改系统设置 。去看看所有可读的变量:
% sysctl -a
阅读一个详细的变量 , 例如, kern.maxproc:
% sysctl kern.maxproc
kern.maxproc: 1044
设置一个特殊的变量 , 使用=选项:
# sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
Sysctl 变量的设置通常不是字符 , 数字 , 就是布尔类型的 。一个布尔类型的树1 代表
yes,0 代表no 。
6.9 调整磁盘
6.9.1 Sysctl 变量
6.9.1.1 vfs.vmiodirenable
第13 页FreeBSD 使用手册
vfs.vmiodirenable sysctl 变量默认为0(off) , 也可以被设置成0 或1 。很多目录
是比较小 , 只使用一小片段(典型的:1k) , 甚至更少(典型的:512 bytes) 。然而 , 当
在默认的模式下操作时 , 即使你有很多内存 , 缓存器只缓存一些固定的目录 。打开这个
sysctl 可以允许缓存器使用VM 页面缓存来缓存目录 。这样的优势是所有的内存都能被缓存
目录所利用 。不利的是最小的用来缓存目录的核心内存要大于512 bytes(典型的是:4K) 。
如果你运行有大量文件处理的服务时 , 我们建议把这个选项打开 。这样的服务包括web 缓存、
大邮件系统和新闻系统 。打开这项服务通常不会降低系统的性能 , 只是会浪费一点内存 , 但
你要仔细检查一下 。
6.9.1.2 hw.ata.wc
FreeBSD 通常把IDE 写入缓存关闭掉 。这可以减少写入磁盘时需要的带宽 。基本上 , 当
写入完成后 , IDE 基本上就没事了 。由于IDE 写入缓存被打开 , IDE 驱动器将不再按顺序把
数据写入到硬盘中 。当磁盘处于比较大的负荷时 , 它们通常能缓冲写入的数据 。不幸的是 ,
这样会丢失很多性能 , 最好还是改回默认值 。你应当通过观察hw.ata.wc sysctl 变量来检
查你的系统的默认情况 。如果IDE 的写入缓存被关闭 , 你可以在内核变量中把它改回1 就可

推荐阅读