linux优化

linux优化[@more@]

一、开启硬盘 DMA 支持。

系统安装完毕後,硬盘的 DMA 是没有打开的,我的方法是在
/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 /dev/hda 这样每次开机後,硬盘的 DMA 就会开启,不必每次手动设定。

如果您的硬盘机支持 ATA33 可以加上 -X66 这个参数,ATA66则是 -X68,像我的硬盘是 ATA66 那麽完整参数就是 /sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda 经过我的测试 ,在 DMA 未开启以前,实际读取效率是每秒约 4.10 Mb 左右,开启 DMA 後,每秒实际读取效率跃升为 20 Mb 大约提升 5 倍之多。

§未开启 DMA 时的测试

[root@firefly /root]# hdparm -d0 /dev/hda

/dev/hda:

setting using_dma to 0 (off)
using_dma = 0 (off)

[root@firefly /root]# hdparm -Tt /dev/hda

/dev/hda:

Timing buffer-cache reads: 128 MB in 2.75 seconds = 46.55 MB/sec
Timing buffered disk reads: 64 MB in 15.58 seconds = 4.11 MB/sec

§开启 DMA 後的测试结果

[root@firefly /root]# hdparm -d1 -X68 -c3 -m16 /dev/hda

/dev/hda:

setting 32-bit I/O support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 69 (UltraDMA mode5)
multcount = 16 (on)
I/O support = 3 (32-bit w/sync)
using_dma = 1 (on)

[root@firefly /root]# hdparm -Tt /dev/hda/dev/hda:

Timing buffer-cache reads: 128 MB in 2.75 seconds = 46.55 MB/sec
Timing buffered disk reads: 64 MB in 3.20 seconds = 20.00 MB/sec

由以上的数据,可以看得出来,硬盘 DMA 是否开启,对读取效率影响很大。

二、关闭多馀的系统服务。

这是老生常谈的题目了,一般我们当作桌上型工作站的时候,只需要激活几个基本的?Service 即可,其他的不但没用,一方面会占用系统资源,另一方面则会有安全上的顾虑,我平常只用来连网、打打文件、听听音乐、看看电影,多半时间只是一个 Client 端,实在没必要激活 Server 端的服务,所以,我在 Setup System Services时,只留下以下几个 Service,其馀的都关闭。

1. crond
2. network
3. syslogd

真的,相信我,只要这3个就足够了!

三、下载 Kernel 重新编程。

因为系统所默认安装的 Kernel 是为了适用大部分的计算机而做的,并未对你的计算机作最优化,所以显得臃肿肥大,因为 Kernel 直接掌控著计算机的一切,所以对系统效率影响当然很大。

我的作法是∶下载最新的 Kernel 重新编程,将我计算机上的硬件直接编程进 Kernel 里面,不要作成 Module ,对於不需要的就不编程,这样,打造出完全面向自己环境的 Kernel ,才能完全发挥计算机的威力。

至於 Kernel 怎样编程?这就不是我的主题了,大家可以到CLDP 自行参考 KERNEL HOW-TO 中译版。

四、减少虚拟终端机的数量。

系统默认是6个,也就是 CTRL+ALT F1~F6 那六个,我关掉其中四个,只留下 CTRL+ALT F1~F2,大约省下 4 Mbytes 的记忆体,但是这样一来,X-Window 会从原来的 CTRL+ALT F7 变成 CTRL+ALT F3 。

修改 /etc/inittab 中,将 mingetty 3 ~6 全部加上 # 字号,然後下指令 #init q

五、调整 X-Windows 环境

我习惯操作 KDE ,对 GNOME 不熟,所以,以下是都是面向 KDE而设,GNOME 的使用者,我想,应该也差不多啦!

1、颜色数设为 16 Bit 就有很好的效果了,24 Bit 除了浪费资源,看不出有何好处。
2、不要使用屏幕保护程序。
3、取消动画窗口功能。
4、尽量使用同一种字型。
5、浏览器用 Mozilla 不要用 Netscape。
6、不要激活音效服务器 artd

Speed Up X by Managing Font Setting 在你抱怨 X 跑得不够快之前,
先检查字型设定, 很可能就是影响效能的一大元凶。
先看一下 /etc/X11/XF86Config-4 档案里的 FontPath 设定值, 如果是
如下∶
Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.

FontPath "unix/:-1"

EndSection

可参考 /etc/X11/fs/config 档案里的字型设定值, 挑选几个喜欢的字型目录(全部比较不会错)
来修改, 例如我直接设定下列几个字型目录∶
Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.

FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/mdk:unscaled"
FontPath "/usr/share/fonts/ttf/big5"

EndSection

修改之後, 重新激活 startx 感受看看棉。

原本的 FontPath "unix/:-1" 将字型由 X Font Server 来提供,
一般使用者未蒙其利、先受其害, 可以考虑等熟悉 X Font Server 功能後再使用。
如此就可以关掉xfs了
ps:试用时不要用默认开机直接进x-window,若不行会卡在x-window
ps:引用自http://twopensource.org/~marr/xfont_tip.html
六、调整应用程序优先权。

一般时候,我们使用任何程序时,其 NICE 值都是 0,意思是CPU 的使用权值。如果我们常用程序有较高的优先权的话,自然效率就会比较好,优先权的值从 -20 到 19 ,数字越小优先权就越高,但要注意的是一般使用者只能调低( 0~19),只有 root 有权调高优先权( -20 ~ 19 )。我们可以用 ps -fel 来观察 NI 那栏就知道。

说了半天,到底如何调整呢?有一个指令 /bin/nice 就是用来作这件事的,用法如下∶nice?-n?程序名称?参数....
n 的值从 -20 到 19,这是手动操作,在 KDE 中,可以用选单编辑器来设定,方法是在你要调整优先权的程序的 [ 命令 ] 那一栏的前面,加上 /bin/nice --n 就可以了。

比方说我常用 Mozilla 来浏览网页,我改成 /bin/nice --10 /usr/local/mozilla/mozilla 这样我的 Mozilla 执行时,就比其他程序有更高的优先权,在实际测试的时候,Mozilla 激活速度以及回应都快了不少,其他一些常用的程序,也可以比照办理。

後记

Linux 真的是一套很棒的操作系统,经过这样调整後,光是开机到登入窗口画面出现,从原来的 48 秒,变成 30 秒,用 top 指令(每秒)观察CPU idle 时间也从 82% 提升到 93%,而窗口程序的反应感觉上与 Win me 差不多了。

1 系统性能管理
1)响应时间(Response Time)
从用户的角度来看,系统处于良好的性能状态是指系统能够快速响应用户的请求,即系统响应时间短。
具体地说,响应时间是指发出请求的时刻到用户的请求的相应结果返回用户的时间间隔。
2)吞吐量(Throughput)
从系统管理员角度来看,系统的吞吐量成为系统处于良好的性能状态的指标。
具体地说,吞吐量是在给定时间段内系统完成的交易数量。即系统的吞吐量越大,说明系统在单位时间内完成的用户或系统请求越多, 系统的资源得到充分利用。
2 资源与瓶颈
1)系统资源(System Resource)
CPU
内存
磁盘
输入输出,尤其是网络和串行通信
查看系统信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号 相当于 uname -r
uname -a - 看系统内核等信息
2)瓶颈(Bottleneck)
在计算机的众多资源中,由于系统配置的原因,某种资源成为系统性能的瓶颈是很自然的事情。
当所有用户或系统请求对某种资源的需求超过它的可用数量范围时,我们称这种资源成为瓶颈。
当系统出现瓶颈时,消除瓶颈是方法通常有两种:
增加成为瓶颈的资源的数量;
减少请求的数量;

一些优化的措施
1开启硬盘 DMA 支持。
系统安装完毕後,硬盘的 DMA 是没有打开的,我的方法是在
/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 /dev/hda 这样每次开机後,硬盘的 DMA 就会开启,不必每次手动设定。
添加前后你可以用hdparm -Tt /dev/hda 来测试一下。
2运行ntsysv来关掉一些没有必要的服务,下面也提供一些常见服务的具体解释:
amd管理mixer设备的
amidxtape
anacron(命令调度)
apmd(高级电源管理)
arpwatch(看ARP的)
atd (功能cron类似)
autofs(自动加载文件系统)
daytime-udp(udp-用户数据报协议,与之同级别的是TCP)
dhcpd(动态主机服务)
echo(服务器回显客户数据服务)
echo-udp(UDP版本的echo)
finger(finger服务)
gated (网关服务)
gpm(控制台下的鼠标)
ipchains(防火墙)
linuxconf-web(打开linuxconf的web配置端口)
netfs(网络文件系统)
*network(提供网络支持)
pcmica(提供对pc卡的支持,一般笔记本用)
sendmail(大名鼎鼎的邮件服务器)
keytable(键盘影射,好象没有用)
KZUZU----启动系统时检测PC硬件
#我只留下了apmd gpm syslog network iptable 5个
3减少虚拟终端机的数量。
系统默认是6个,也就是 CTRL+ALT F1~F6 那六个,我关掉其中四个,只留下 CTRL+ALT F1~F2,大约省下 4 Mbytes 的记忆体,但是这样一来,X-Window 会从原来的 CTRL+ALT F7 变成 CTRL+ALT F3 。
修改 /etc/inittab 中,将 mingetty 3 ~6 全部加上 # 字号

几个对系统安全有好处的设置
1删除所有的特殊账户
你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
2打开密码的shadow支持功能:
打开密码的shadow功能,对password加密。使用"/usr/sbin/authconfig"工具打开shadow功能。如果想把密码和组转变为shadow格式,可以分别使用"pwcov,grpconv"命令。
3、root账户
在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,系统会自动注销。通过修改账户中"TMOUT"参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面这行:
TMOUT=3600
3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的".bashrc"文件中添加该值,以便系统对该用户实行特殊的自动注销时间。
改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。
4禁止系统信息暴露
当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/etc/inetd.conf"文件来达到这个目的。
把/etc/inetd.conf文件下面这行:
telnet  stream  tcp     nowait root    /usr/sbin/tcpd  in.telnetd
修改为:
telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd -h
在最后加"-h"可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/161840/viewspace-921565/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/161840/viewspace-921565/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值