新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > Unix系统 > FreeBSD教程 > 正文:FreeBSD5安装后的优化

FreeBSD5安装后的优化

新客网 XKER.COM 2008-01-19 来源:新客网编辑整理 佚名 收藏本文
  【新客网FreeBSD教程】一、安装(sysinstall)

  1、Distribution中,仅选择minimal后,选择Customization。添加man,出现问题时可以查看命令参数;添加src,之后cvsup可以加快速度,不必读取重复的文件。

  2、Users中,添加用户后,把用户路径中的/home/abc改为/usr/abc。因为/usr的容量大。或者还可以通过增大/home的容量,不过比较麻烦。然后,要把shell改为csh,为了使用方便(也为了本文第七部分的设置)。

  二、编译优化(make.conf)

  注重:要屏蔽某个boolean选项,并不是标记no或false!而是整行删掉!

  1、编译器选项
CPUTYPE=athlon-xp

##本人使用AthlonXP 2500 ,不同的CPU请参考man make.conf



CFLAGS = -mfpmath=sse -mmmx -msse -m3dnow 

-maccumulate-outgoing-args -minline-all-stringops

##

不建议使用O2、O3、Os的优化,因为不是全部应用程序

 可以稳定工作于O2、O3、Os。况且最多仅获得7%的额外性能。

## CFLAGS的默认为"-O1 -pipe",不需要覆盖,所以使用 =。

## 不建议使用-f...系列优化,因为不是全部应用程序可以对此稳定工作。



## -mfpmath=sse:

PentiumIII兼容的CPU可以打开-mfpmath=sse来代替传统i387的浮点运算,加快速度。

## -mfpmath=pni: Pentium4

Prescott兼容的CPU可以打开-mfpmath=pni来代替传统i387的浮点运算,加快速度。

## -mmmx:

打开mmx指令来增加代码性能。适用于PentiumMMX兼容CPU。

## -msse:

打开sse指令来增加代码性能。适用于PentiumIII兼容CPU。

## -msse2:

打开sse2指令来增加代码性能。适用于Pentium4兼容CPU。

## -mpni:

打开pni指令来增加代码性能。适用于Pentium4

Prescott兼容CPU。

## -m3dnow:

打开3DNow!指令来增加代码性能。适用于K6、Athlon兼容CPU。



## -maccumulate-outgoing-args -minline-all-stringops

通过减少某些动作来实现加速,经作者实验,比较稳定。



CXXFLAGS = -fmemoize-lookups -fsave-memoized

## make.conf提到的C  代码优化。



2、系统编译选项

KERNCONF=(FILENAME)

## 内核配置文件名,将(FILENAME)更改为自己的内核文件名。



NOINET6=true

## 尽量不使用用IPV6协议。



NOATM=true

## 尽量不使用ATM,本选项仅适用于非ADSL用户。



NO_SENDMAIL=true

## 尽量不使用SENDMAIL。



NOGAMES=true

## 不安装所有游戏



NO_I4B=true

## 尽量不使用ISDN For BSD。



NO_IPFILTER=true

## 尽量不使用IP Filter。



BATCH=yes

## 安静编译,编译时跳过所有提问。适用于某些隔夜一次性编译程序的用户。



3、X-Window编译选项

XFREE86_VERSION=4

## 尽量使用4.3版本的X-Window



WITH_SETUID_LUIT=yes

## 不使用本项的话,运行xterm会出现luit错误的问题.



WITH_GTK2=yes

## 尽量使用GTK2为gtk应用程序的运行库



USE_MMX_ASM=yes

## 编译Xfree86时,尽量使用MMX代码,仅适用于PentiumMMX兼容CPU.



USE_3DNOW_ASM=yes

## 编译Xfree86时,尽量使用3DNOW代码,仅适用于K6、Athlon兼容CPU.



WITHOUT_KDE_MENUS=yes

## 使用GNOME时,不添加KDE程序在菜单上。



4、多媒体编码选项

WITH_CDPARANOIA=yes

WITH_AALIB=yes

WITH_ESOUND=yes

WITH_FAAD=yes

WITH_FLAC=yes

WITH_FREETYPE=yes

WITH_GDKPIXBUF=yes

WITH_GSM=yes

WITH_HERMES=yes

WITH_JPEG=yes

WITH_LADSPA=yes

WITH_LAME=yes

WITH_LIBA52=yes

WITH_LIBAUDIOFILE=yes

WITH_LIBCACA=yes

WITH_LIBFAME=yes

WITH_LIBMIKMOD=yes

WITH_LIBMPEG2=yes

WITH_LIBMUSICBRAINZ=yes

WITH_LIBSHOUT=yes

WITH_LIBSIDPLAY=yes

WITH_LIBSNDFILE=yes

WITH_LIBTHEORA=yes

WITH_MAD=yes

WITH_NAS=yes

WITH_PANGO=yes

WITH_PNG=yes

WITH_SDL=yes

WITH_SMOOTHWAVE=yes

WITH_SPEEX=yes

WITH_SWFDEC=yes

WITH_VORBIS=yes

WITH_VORBISIDEC=yes

WITH_XINE=yes

WITH_XVID=yes



## 以上所有多媒体选项仅在应用程序支持时打开。



4、应用程序编译选项

WANT_HUGE_STACK_SIZE=yes

## 为Python代码的应用程序提供巨大的Stack。



WITH_GDM=yes

## 为某些窗口治理器提供GDM链接。



WITHOUT_MAILNEWS=yes

## 取消Mozilla的邮件新闻功能,加快编译时间。



WITHOUT_COMPOSER=yes

## 取消Mozilla的网页编辑功能,加快编译时间。



WITHOUT_LDAP=yes

## 取消Mozilla的LDAP功能,加快编译时间。



WITHOUT_CHATZILLA=yes

## 取消Mozilla的IRC聊天功能,加快编译时间。



WITHOUT_XMLTERM=yes

## 取消Mozilla的XML终端功能,加快编译时间。



#WITH_RTC=yes

## 为某些应用程序提供实时时钟支持,但可能会造成某些多媒体程序不稳定。



WITH_GLX=yes

## 为某些应用程序提供GLX加速绘图支持。



WITH_TTF_BYTECODE_ENABLED=yes

## 为某些应用程序提供双字节支持。



WITH_OPTIMIZED_CFLAGS=yes

WITH_OPTIMIZED_CXXFLAGS=yes

WITH_OPTIMIZE=yes

## 尽量使用更高级编译优化



三、内核优化(make kernel)



options PQ_HUGECACHE

## 为1024k二级缓存的CPU提供支持



options PQ_LARGECACHE

## 为512k二级缓存的CPU提供支持



options PQ_MEDIUMCACHE

## 为256k二级缓存的CPU提供支持



options PQ_SMALLCACHE

## 为128k二级缓存的CPU提供支持



options CPU_ATHLON_SSE_HACK

options CPU_ENABLE_SSE

## 为Athlon系列CPU提供SSE支持



options CPU_SUSP_HLT

## 打开CPU空闲节能。



options CPU_UPGRADE_HW_CACHE

options CPU_WT_ALLOC

options NO_MEMORY_HOLE

## AMD系列CPU优化



##

某些显卡可以打开DRM支持来加快显示速度,

请参考/usr/src/sys/conf/NOTES和/usr/src/sys/i386/conf/NOTES,本文省略。





四、启动优化(loader.conf)



autoboot_delay="2"

## 设置启动等待时间为2秒。



hw.ata.atapi_dma=1

## 打开ATA33以上接口的硬盘的DMA传输,加快存取速度。



kern.ipc.maxsockets="16384"

## 增大线程间套接数量



net.inet.tcp.tcbhashsize="2048"

## 增大TCP控制块数量



beastie_disable="YES"

## 关闭小恶魔图像启动菜单



五、系统首选项(rc.conf)



background_dhclient="YES"

## 不等待DHCP执行完毕,加快启动速度。



keyrate="fast"

## 最大化键盘速率



sendmail_enable="NONE"

sendmail_submit_enable="NO"

sendmail_outbound_enable="NO"

sendmail_msp_queue_enable="NO"

## 关闭SENDMAIL



clear_tmp_enable="YES"

## 按时清除/var/tmp文件



tcp_extensions="YES"

## 扩展TCP



六、系统资源优化(sysctl.conf)



security.bsd.see_other_uids=0

## 不答应用户看到所有系统进程



kern.ipc.maxsockbuf=8388608

## 线程套接字缓冲区



kern.ipc.shm_use_phys=1

## 仅为线程提供物理内存支持,需要256兆以上内存。



kern.ipc.shmmax=67108864

## 线程可使用的最大共享内存



kern.ipc.shmall=32768

## 最大线程数量



kern.coredump=0

## 程序崩溃时不记录



net.local.stream.sendspace=65536

net.local.stream.recvspace=65536

## 本地数据流接收和发送空间



net.local.dgram.maxdgram=16384

## 本地数据包最大数量



net.local.dgram.recvspace=65536

## 本地数据包接收空间



net.inet.tcp.rfc1644=1

net.inet.tcp.rfc3042=1

net.inet.tcp.rfc3390=1

## 某些加快网络性能的协议,请参考RFC文章。



net.inet.tcp.mssdflt=1460

## 数据包数据段大小,ADSL为1452。



net.inet.tcp.sendspace=65536

net.inet.tcp.recvspace=1048576

## 网络数据接收和发送空间



net.inet.tcp.inflight_enable=1

## 为网络数据连接时提供缓冲



net.inet.tcp.minmss=1460

## 数据包数据段最小值,ADSL为1452。



net.inet.raw.maxdgram=65536

## 本地数据最大数量



net.inet.raw.recvspace=65536

## 本地数据流接收空间



七、环境设置(.cshrc)

alias ls ls -GF

## 彩色化ls



setenv EDITOR ee

## 默认编辑器为ee



setenv PAGER less

## 默认分页器为less,比more要方便。



set nobeep

set prompt = '%n@%/%# '

set filec

set autolist

##

非凡注重最后一行。



八、编译的缓存(ccache)

CCACHE是为程序编译提供缓存,通过减少重复代码编译次数,加快编译时间。



安装过程:

su

cd /usr/ports/devel/ccache/

make install clean

cd /usr/

mkdir ccache

cd /usr/sbin

ln -s /usr/local/bin/ccache gcc

ln -s /usr/local/bin/ccache cc

ln -s /usr/local/bin/ccache c  

ln -s /usr/local/bin/ccache g  

ln -s /usr/local/bin/ccache cpp

echo "setenv CCACHE_DIR /usr/ccache" >> /root/.cshrc

rehash

exit



最后可以通过运行ccache -s来观看当前编译状况。

好了,现在就可以cvsup系统代码和ports tree了。
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐