LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3049|回复: 13

linux开机速度怎么优化?

[复制链接]
发表于 2004-11-11 18:49:54 | 显示全部楼层 |阅读模式
rt
发表于 2004-11-11 18:57:46 | 显示全部楼层
对亚,我也感觉我的电脑进入suse确实比较慢!!
发表于 2004-11-11 19:05:26 | 显示全部楼层
转帖:
针对系统的优化工作需要根据不同的系统采用不同的办法。本文旨在描述通用的优化 Linux 的一些办法。
一、编译选项<p>当我们采用 -O9 来编译程序时,或许文件字节数是最大的,但是往往其运行速度也是最快的。
根据不同的机器架构,你可以把下面的语句加入 /etc/profile 。<p>i686:<p>export CFLAGS=-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions<p>i586:
export CFLAGS=-O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions<p>i486:
FLAGS=-O3 -funroll-all-loops -malign-double -mcpu=i486 -march=i486 -fomit-frame-pointer -fno-exceptions<p>另外,安装程序时,使用 tarball 格式总要比 RPM 格式来得好,因为, tarball 需要重新编译,能针对你的机器架构作优化,得到最好的性能。这也是本站下载中心提供的都是 .tar.gz 格式的原因吧!<p>二、重新编译内核
一般的 Linux 发行商发布的 Linux 版本,其内核总是会带有一些对你来说不是很实用的东西,例如对无线火腿(HAM Radio)的支持,对 Token Ring 的支持等。<p>如果对自己编译感到怯生生的话,可以查看下面的两个网站的资料:<p>Linux Kernel Howto: www.linuxdoc.org/HOWTO/Kernel-HOWTO.html<p>Linux Kernel : www.kernel.org<p>经过三次失败的编译后,你就能成功编译自己需要的内核了。“失败是成功之母”么!<p>三、停止不使用的服务
Sendmail, httpd, crond, (kudzu), mysql, portmap, postgresql, (smb), snortd, webmin, inetd (或者 xinetd) 等都是很棒的程序,但是如果你不会使用他们,干吗要让他们占用您宝贵的资源呢?而且,这些程序都会带来安全隐患。一般说来,一套“干净”的 Linux 系统,只需要gpm, network, syslog, ssh 和 xfs。如果临时有需要,就手工启动好了。这些启动脚本一般都在 /etc/rc.d/init.d 目录下。<p>检查自己的机器上使用中的服务,可以采用 nmap 工具扫描。<p>[xyj@freelamp.com]$ nmap -p1-65535 211.94.129.28
Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
Interesting ports on freelamp.com (211.94.129.28):
(The 65492 ports scanned but not shown below are in state: closed)
---Edited version of the output due to space considerations--
Port State Service
...
514/tcp open shell
1025/tcp open listen
1099/tcp open unknown
1214/tcp open unknown
...<p>检查特定端口上正在运行的程序名,可以采用:<p>[root@freelamp.com /root]# netstat -anp|more<p>Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
....
tcp 0 0 203.199.66.200:8007 203.199.66.197:1060 CLOSE 1005/java
tcp 0 0 203.199.66.200:22 203.199.66.197:3768 ESTABLISHED 1381/sshd
tcp 0 0 203.199.66.200:23 192.168.57.46:1546 ESTABLISHED 1229/in.telnetd: 19
....<p>最后一列显示运行的程序及其 PID。<p>我们还可以采用 ps 命令检查机器上正在运行的守护程序:<p>[root@freelamp.com root]# ps xc -u 0
PID TTY STAT TIME COMMAND
...
1475 ? S 0:02 sendmail
1498 ? S 0:04 gpm
16539 ? S 0:01 httpd
...<p>四、规划好你的文件系统
在安装系统之前,您就需要对硬盘做好恰当的规划。划分一定的文件系统,不仅仅是系统本身的需要,而且在安全层面上也十分有意义。我们一般需要 /,/usr,/var,/tmp ,/home 和 swap 这么几个。另外,把 / 和 /usr 开得大一点,十分有必要。如果你的机器提供别人发送邮件,或者提供个人主页等服务,那么一个很大的 /home 就极为重要,如果你的业务够好的话,你甚至可以购买第二个硬盘,建立 /home2 。
另外,把 swap 分区,放到硬盘的最外层,能提高读写速率。如果有多个硬盘的话,可以在每个硬盘上各开 swap 分区,另外,建议 swap 分区的大小为物理内存的两倍。
如果采用 IDE 硬盘的话,您可以采用
/sbin/hdparm -c1 -d1 -m16 /dev/hda
来提高硬盘性能。
新版本的 Linux 都支持日志文件系统,这类文件系统不仅提供文件完整性上快速恢复,在读写速度上也较普通的 ext2 文件系统有很大提升。<p>文件的最后存取时间,对很多人来说没有任何用户,因此,我们可以关闭操作系统记录文件最后存取时间的功能,修改: /etc/fstab :<p>把 dev/hda6 /home ext2 defaults 1 2<p>改为:<p>/dev/hda6 /home ext2 defaults,noatime 1 2<p>
五、关闭 X 相关的软件
如果你像我一样,不喜欢在窗口环境下干活,那么要 X 干么?让我们把机器启动后的缺省界面为 Console 吧:
修改: /etc/inittab 把<p>id:5:initdefault:
修改为:
id:3:initdefault:<p>没有浏览器了么,不要紧,你可以在 Console 下使用 lynx 来浏览网站。
links 也是一个不错的浏览器,你可以从<p>artax.karlin.mff.cuni.cz/ mikulas/links/<p>下载。<p>六、关闭多余的虚拟控制台
我们知道从控制台切换到 X 窗口,一般采用 Alt-F7 ,为什么呢?因为系统默认定义了 6 个虚拟控制台,所以 X 就成了第7个。实际上,很多人一般不会需要这么多虚拟控制台的,修改
/etc/inittab ,注释掉那些你不需要的。<p># Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6<p><p>结论:
系统优化的哲学可以简单的归结为四个字:”少就是多“;只运行那些你需要的服务,使用正确的应用来完成任务,使用命令行方式,只有充分精简了你的系统后,你的系统性能才能充分发挥。我的愿望就是,全部重新编译我系统里面的所有程序。:-)实际上,FreeLAMP.com 里面的大多数程序,都是经过我重新编译以后的“杰作”。


linux主要系统服务介绍   

--------------------------------------------------------------------------------

apmd--apmd用来监视系统用电状态,并将相关信息通过syslogd写入日志。也可以用来在电源不足时关机

arpwatch--用来维护以太网物理地址和ip地址的对应关系

atd--运行用户用at命令调度的任务。也在系统负荷比较低时运行批处理任务

autofs--当您需要时自动转载文件系统,而当您不需要时自动卸载

chargen--tcp版本的chargen server

chargen-udp--udp版本的chargen server

crond--周期地运行用户调度的任务。比起传统的unix版本添加了不少属性,而且更安全,配置更简单

daytime--tcp版本的daytime server

daytime-udp--udp版本的daytime server

echo--tcp版本的echo server

echo-udp--udp版本的echo server

eklogin--接受rlogin会话鉴证和用kerberos5加密的一种服务

finger--用于应答finger请求的服务

gpm--为文本模式下的linux程序提供了鼠标的支持。它也支持控制台鼠标的拷贝,粘帖操作以及弹出式菜单 (必须)

gssftp--接受可被kerberos5验证的ftp连接

httpd--http是著名的www服务器,可用来提供html文件以及cgi动态内容服务

identd--提供验证身份的方法

ipchains--ipchains包过滤防火墙

iptables--iptables包过滤防火墙

ipvsadm--调用ipvsadm来建立和维护ipvs路由选择表

isdn--启用isdn(综合服务数字网)服务

kadmin--更改在主控kdc中使用本机的kadmin工具,或透过kadmin服务来完成

kdcrotate--设置配置文件/etc/krb5.con中的kdcs表项

keytable--该程序的功能是转载您在/etc/sysconfig/keyboards里说明的键盘映射表

klogin--接受bsd方式的rlogin会话,但需要使用kerbeos5验证

kprop--是否允许kdc接收来的master kdc的升级

krb5-telnet--允许普通的telnet登陆,但也可使用kerberos5验证

krb524--是以改变kerberos5到kerberosIV的赁证

krb5kdc--开启kerberosIV和5所需的连接以获得赁证

kshell--接受rshell命令鉴证和用kerberos加密的服务

kudzu--运行硬件检测,并可选择性地设置硬件变化

lpd--lpd是系统打印守护程序,负责将lpr等程序提交给打印作业

netfs--负责装载/卸载nfs、samba、ncp文件系统

network--激活/关闭启动时的各个网络接口 (必须)

nfs--nfs是一个流行的基于tcp/ip网络的文件共享协议.该服务提供了nfs文件共享服务

nfslock--提供nfs文件上锁功能

nscd--该服务负责密码和组的查询,并且缓冲查询结果

portmap--portmap用来支持rpc连接,rpc被用于nfs以及nis等服务

postgresql--postgresql关系数据库引擎

random--保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的

rlogin--rlogin程序服务,提供来自远程信任主机的注册功能

routed--该守护程序支持rip协议的自动ip路由表维护.rip主要使用在小型网络上,大一点的网络就需要复杂一点的协议

rsh--提供rcmd程序或者rsh程序的服务

rstatd--rstat协议允许网络上的用户获得同一网络上各机器的性能参数

rsync--对ftp服务的一个很好的附加,允许循环码求和校验等

rusersd--该服务使网络用户可以定位同一网络上的其他用户

rwalld--rwall协议允许远程用户向在同一系统中活跃着的终端发送消息,类似wall的本地行为

rwhod--允许远程用户获得运行rwho精灵的机器上所有已登录用户的列表,与finger类似

smb--启动和关闭smbd和nmbd精灵程序以提供smb网络服务

snortd--一个轻量级的网络入侵检测工具

swat--samba网络配置工具,可以通过流览器的901端口连接使用swat

syslog--syslog是操作系统提供一种机制,守护程序通常使用这些机制将各种信息写到各个系统日志文件 (必须)

telnet--提供telnet服务,使用未加密的用户/密码组进行验证

time--tcp版本的rfc 868 time server

time-udp--udp版本的rfc 868 time server

webmin--webmin是基于web的集系统管理与网络管理于一身的强大管理工具

xfs--在引导和关闭时启动和停上x字体服务,并可能重新生成字体表 (必须)

xinetd--因特网操作服务程序。提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全,监控网络对各种它管理的服务的需求,并在要的时候启动相应的服务程序

ypbind--实现网络信息服务的服务器端
发表于 2004-11-11 22:41:28 | 显示全部楼层
不错,多谢了!!!
发表于 2004-11-11 23:04:29 | 显示全部楼层
恩!好详细!难得啊!!呵`~!
 楼主| 发表于 2005-2-10 17:13:44 | 显示全部楼层
好文章,我来尝试
回复 支持 反对

使用道具 举报

发表于 2005-2-11 01:27:39 | 显示全部楼层
:rolleyes:  :cool:
回复 支持 反对

使用道具 举报

发表于 2005-6-28 19:51:12 | 显示全部楼层
bc,xiexie!
值得re!
回复 支持 反对

使用道具 举报

发表于 2005-6-28 23:23:35 | 显示全部楼层
真的很详细
回复 支持 反对

使用道具 举报

发表于 2005-6-29 15:49:24 | 显示全部楼层
文章虽然很精彩,但觉得与该主题没多大关系!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表