linux优化之全过程

基于开放源代码的Linux给用户提供了这样一个平台:可以根据自己的软、硬件环境,定制自己的Linux应用环境。因此,根据每个用户不同的应用范围定制应用环境,可以将Linux系统的性能提升到新的高度。

定制系统服务


Linux在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。但是,开启不必要或有漏洞的服务则会给操作系统带来安全和性能上的影响。对于系统安全来说,如果操作系统中的任何一个漏洞,都可能使整个系统受到攻击。所以,增加系统安全的最佳办法就是尽量监视系统的功能。至于选择多少服务和功能,要根据工作需求和能力来决定。

下面以root身份运行:

#ntsysv

 

 

图1 将不需要的服务和进程前面的*去掉


打开如图1所示的窗口,在此可以开启/关闭每一项系统服务(以Red Flag 3.0为例)。将不需要的服务和进程前面的*去掉(用空格键),然后重新启动系统,这样就可以使不需要的服务和进程不再启动。用这种办法可以随时根据需求定制系统服务,不但安全有保障,而且还能提高系统的性能,一举两得。要保障Linux正常工作,有些系统服务是必须启动的,例如crond、 syslog、keytable、nfs、 kudzu。

为了高效安全地定制系统服务,下面介绍一下各项系统服务的功能。

alsasound Alsa 声卡驱动程序支持。Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,它和OSS/Free 及OSS/Linux兼容。

apmd 用来监视系统用电状态,并将相关信息通过syslogd 写入日志,也可以用来在电源不足时关机。一般用于笔记本电脑,若是台式机建议关闭。

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

autofs 需要时自动转载文件系统,不需要时自动卸载。

chargen 端口chargen字符产生的缩写,输出一个可打印字符的旋转序列,用于测试字符终端设备。

chargen udp udp格式下端口chargen字符产生的缩写,输出一个可打印字符的旋转序列,用于测试字符终端设备。

crond 根据用户要求周期地运行调度的任务。它比较安全,配置简单,类似Windows中的计划任务。

dhcpd 提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。

echo 端口echo简单地回应所有为测试连接发送给它的数据。

echo udp udp格式下端口echo简单地回应所有为测试连接发送给它的数据。

gpm 为文本模式下的Linux程序,如MC(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标的拷贝、粘贴操作及弹出式菜单。

inetd 因特网操作服务程序。监控网络管理服务的需求,并在必要的时候启动相应的服务程序。通常,inetd 管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就关闭了这些由它管理的服务。

http 它是著名的WWW服务器,可用来提供HTML文件以及CGI动态内容服务。

isdn isdn的守护程序。

keytable 该程序的功能是转载/etc/sysconfig/keyboards里说明的键盘映射表。该表可以通过kbdconfig工具进行选择,应该使该程序处于激活状态。

kudzu 它是一个硬件检测程序,和Windows中的添加新硬件差不多。如果系统核心支持该硬件,并且有该驱动程序,就可自动装载。

linuxconf 它是Linux下一个有效的系统配置工具,该服务允许远程运行。

linuxconf web 在Web方式下使用linuxconf。

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

medusa 支持Web的浏览器。

mysql 一个快速高效可靠的小型SQL数据库引擎。

ntalk 允许用户把自己的计算机和其它的计算机连接起来,然后向前或向后传送信息。

netfs 负责装载/卸载NFS、Samba、NCP(Netware)文件系统。

network 激活/关闭启动时的各个网络接口。

nfs 一个流行的、基于TCP/IP网络的文件共享协议。该服务提供了NFS文件共享服务,具体的配置在/etc/ exports文件里。

nscd 该服务负责密码和组的查询,并且缓冲查询结果。如果系统有比较慢的服务(如NIS和NIS+),则应该启动该服务。

pxe 用于远程无盘的Linux系统启动的服务程序。

pcmcia 主要用于支持笔记本电脑。

rexec 它是一个安全、分散式的远程执行系统,用于集群计算机的平行和连续运行。

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

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

rsync 叠加的Ftp Server,允许循环检查。

rsh 远程主机上启动一个shell,并执行用户命令。

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

swat Samba的一个工具包,使用901号端口。

sendmail 邮件服务器。

smb 启动和关闭smbd和nmbd守护程序,以提供SMB网络服务。

snmpd 简单网络管理协议(SNMP)的守护程序。

syslog 是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件。通常应该启动该服务。

xfs X-Window系统的字体服务器。

xinetd 是inetd继承服务,监控网络对各种管理的服务的需求,并在必要的时候启动相应的服务程序。

以上这些系统服务中,安全隐患比较大的是:rsh、rwhod、rexec、snmp、named、sendmail。对于确实需要的系统服务,应该尽量选用最新的版本程序,并增加其它安全防范。

另外,许多Linux产品在系统初始化后缺省地启动X-Window 管理器。如果只编译程序或编辑配置文件,那么启动X-Window管理器将会消耗大量系统资源。禁用X-Window管理器的方法是:编辑 /etc/inittab 文件,找到内容为id:5:initdefault的那一行,把它改为 id:3:initdefault,系统重新启动后将提供命令行登录。当需要运行X-Window管理器的时候,只要输入startx 就可以了。

根据硬件进行优化


1.CPU

CPU是Linux主机的核心硬件,根据CPU型号在编译时优化以获得最佳性能。在 /etc/profile文件中,含有系统环境和启动程序的配置信息,采用-O9 来编译程序时,运行速度也是最快的。编译时使用-fomit-frame-poinetr选项,程序运行时访问变量会使用堆栈。使用-mcpu=cpu- type和 -march= cpu-type时,gcc会对针对CPU型号进行优化。

如果CPU是Pentium Pro、PentiumⅡ、PentiumⅢ、AMD K6-2、K6-3、Althon,那么在“/etc/profile”加入:

CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
-march=pentiumpro -fomit-
frame-pointer -fno-exceptions'

 

如果CPU是Pentium 、Pentium MMX、AMD K5 、IDT、Cyrix,那么在“/etc/profile”加入:

export CFLAGS=-O3 -march=pentium -mcpu=pentium -
ffast-math -funroll-loops -fomit-frame-pointer -
fforce-mem -fforce-addr -malign-double -fno-exceptions

 

2.硬盘

采用UDMA/33、66、100、133技术的硬盘,其最高传输速率是33MB/s、 66MB/s、100MB/s、100MB/s。从理论上来说,它是IDE硬盘(这里是指PIO MODE4模式,其传输率是16.6MB/s)传输速率的3~6倍,但是在Linux缺省设置中,DMA却是被禁用的,所以必须将它打开。我们可以使用 /sbin/hdparm程序打开它。hdparm 的一些常用选项如下:

/sbin/hdparm -c1 /dev/hda或hdb或hdc等启用 PCI 总线上的 32 位 I/O模式传输数据。
/sbin/hdparm -d1 /dev/hda启用 DMA模式传输数据。
/sbin/hdparm -d1 -X66/dev/hda启用UltraDMA模式传输数据。

 

获取系统中当前硬盘驱动器的设置列表的方法是(作为root)输入:

$/sbin/hdparm /dev/hda

 

接着再输入命令:

$/sbin/hdparm -kl /dev/hda

 

使硬盘在Reset之后仍然保持上述的设置。把一切优化到最佳状态后,请把各种命令添加到 /etc/rc.d/rc.local 文件中去,使这些命令在每次系统引导时自动运行。

3.内存

在Linux下使用free可以观察内存的使用情况。如果发现Linux只能使用其中的一部分,则在/etc/lilo.conf 加入append="mem=XXX"就可以,其中XXX是物理内存容量。这样可以告诉Linux使用全部内存。

如果对计算速度要求很高,可以通过增加内存来实现,使用ramdisk技术。 一个A RamDisk就是把内存假设为一个硬盘驱动器,并且在它的上面存储文件。假设有几个文件要频繁的使用,如果将它们加到内存当中,程序运行速度会大幅度提高,因为内存的读写速度远高于硬盘。划出部分内存提高整体性能,不亚于更换新的CPU。像Web服务器这样的计算机,需要大量读取和交换特定的文件。因此,在Web服务器上建立RamDisk会大大提高网络读取速度。

$mkdir /tmp/ramdisk0
$mke2fs /dev/ram0
$mount /dev/ram0 /tmp/ramdisk0

 

上面这三个命令将会为RamDisk创建一个目录、格式化RamDisk(创建件系统),并把RamDisk装载到目录“/tmp/ramdisk0”中。现在,就可以把它作为一个磁盘分区使用了。

把下面这一行加到你的lilo.conf 文件中去:

ramdisk_size=20000

 

这样,当键入LILO命令并重新启动后,RamDisk的大小将为20MB。

如果你有512MB以上的内存,划出256MB作为暂存区/tmp,当很多程序用到/tmp,如Web服务,那么系统性能会大大提高。重新启动后,/tmp 中将被清空。注意:一定要记住保存RamDisk中有用的东西。

以上介绍了如何根据工作要求定制Linux系统应用环境,最后要强调的是一定要进行系统备份。

 

LINUX守护进程介绍

amd:自动安装NFS(网络文件系统)守侯进程 
apmd:高级电源管理 
Arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库 
Autofs:自动安装管理进程automount,与NFS相关,依赖于NIS 
Bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息 
crond:Linux下的计划任务 
Dhcpd:启动一个DHCP(动态IP地址分配)服务器 
Gated:网关路由守候进程,使用动态的OSPF路由选择协议 
Httpd:WEB服务器 
Inetd:支持多种网络服务的核心守候程序 
Innd:Usenet新闻服务器 
Linuxconf:允许使用本地WEB服务器作为用户接口来配置机器 
Lpd:打印服务器 
Mars-nwe:mars-nwe文件和用于Novell的打印服务器 
Mcserv:Midnight命令文件服务器 
named:DNS服务器 
netfs:安装NFS、Samba和NetWare网络文件系统 
network:激活已配置网络接口的脚本程序 
nfs:打开NFS服务 
nscd:nscd(Name Switch Cache daemon)服务器,用于NIS的一个支持服务,它高速缓存用户口令和组成成员关系 
portmap:RPC portmap管理器,与inetd类似,它管理基于RPC服务的连接 
postgresql:一种SQL数据库服务器 
routed:路由守候进程,使用动态RIP路由选择协议 
rstatd:一个为LAN上的其它机器收集和提供系统信息的守候程序 
ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息 
rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息 
rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务 
sendmail:邮件服务器sendmail 
smb:Samba文件共享/打印服务 
snmpd:本地简单网络管理候进程 
squid:激活代理服务器squid 
syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本 
xfs:X Window字型服务器,为本地和远程X服务器提供字型集 
xntpd:网络时间服务器 
ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程 
yppasswdd:NIS口令服务器 
ypserv:NIS主服务器 
gpm:管鼠标的 
identd:AUTH服务,在提供用户信息方面与finger类似

Linux各项系统开机服务的功能是什么?有哪些可以关掉? 
Linux在启动时要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。但是,开启不必要或有漏洞的服务则会给操作系统带来安全和性能上的影响。下面我们以BluePoint Linux 2.0的开机服务为例,列表说明各项服务的功能。

alsasound 
Alsa声卡驱动程序支持。Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写驱动程序。 Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接 口,甚至比OSS优秀。

amd 
运行automount精灵程序,该精灵在必要时自动安装一些 本地设备和NFS文件系统。

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

arpwatch 
该程序主要用来维护以太网物理地址和IP地址的对应关系。

atalk 
AppleTalk精灵程序。注意不要在后台运行该程序,该程 序的数据结构必须在运行其他进程前先花一定时间初始化。

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

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

bootparamd 
该服务允许老的Sun工作站从Linux网络启动,它和rarp 现在很少使用,基本上被bootp和dhcp取代了。

crond 
cron是Unix下的一个传统程序,该程序周期地运行用户 调度的任务。比起传统的Unix版本,Vixie版本添加了不 少属性,而且更安全,配置更简单。 
dhcpd 该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。

gated 
gated通过一个数据库提供了网络路由功能支持。它支持 各种路由协议,包括RIP版本1和2、DCN HELLO协议、 OSPF版本2以及EGP版本2到4。

gpm 
gpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标 的拷贝,粘贴操作以及弹出式菜单。

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

inetd 
因特网操作服务程序。监控网络对各种它管理的服务的需 求,并在必要的时候启动相应的服务程序。通常,inetd 管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就 关闭了这些由它管理的服务。

innd 
inn是最流行的用户组新闻服务器。它允许您建立起本地 新闻服务器。配置有一定的难度,可以先阅读/usr/doc/ inn*文档获得帮助。


keytable 该程序的功能是转载您在/etc/sysconfig/keyboards里说 明的键盘映射表,该表可以通过kbdconfig工具进行选 择。您应该使该程序处于激活状态。

ldap 
LDAP代表Lightweight Directory Access Protocol, 实现了目录访问协议的行业标准。

linuxconf 
linuxconf是Linux下的一个有效的系统配置工具,该服 务允许远程运行。

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

mcserv 
Midnight Commander服务进程允许远程机器上的用户 通过Midnight Commander文件管理器操作本机文件。服 务进程用PAM来验证用户,需要给出“用户名/口令” 以通过验证。

mysql 一个快速高效可靠的轻型SQL数据库引擎。

named 域名服务器,将Internet主机名解析为点分的IP地址。

netfs 负责装载/卸载NFS、Samba、NCP(Netware)文件系统。

network 激活/关闭启动时的各个网络接口。

nfs 
NFS是一个流行的基于TCP/IP网络的文件共享协议。该 服务提供了NFS文件共享服务,具体的配置在/etc/ exports文件里。

nscd 
该服务负责密码和组的查询,并且缓冲查询结果。如果您 的系统有比较慢的服务(如NIS和NIS+),则应该启动该 服务。

pcmcia pcmcia 主要用于支持笔记本电脑。

portmap portmap 用来支持RPC连接,RPC被用于NFS以及NIS 等服务。

postgresql PostgreSQL 关系数据库引擎。

proftpd proftpd 是Unix下的一个配置灵活的ftp守护程序。

radvd 路由广播程序。

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

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

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

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

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

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

sendmail 大名鼎鼎的邮件服务器。

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

snmpd 简单网络管理协议(SNMP)的守护精灵。

syslog 
syslog是操作系统提供的一种机制,守护程序通常使用这 种机制将各种信息写到各个系统日志文件。通常应该启动 该服务。

xfs X的字体服务器。 
ypbind NIS/YP的客户端守护程序。如果您需要使用NIS/YP机 器,请启动这项服务,否则,关闭这项服务。

yppasswd 
让NIS用户能够修改密码。运行在NIS域的服务器上。客 户端程序同样也叫yppasswd。

ypserv 
标准NIS/YP网络协议的一个实现。允许主机名,用户名 和其他信息分布于网络各端。运行在NIS服务器上,客户 端不需要。


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

转贴自www.linuxsir.com 系统提速[原作:hotmanhh兄弟] 
我的计算机配备如下∶

处理器∶Intel 赛扬 366 MHz 
记忆体∶?128 Mb PC100 RAM 
硬碟∶IBM 15Gb 7200 rpm ATA66 
显示卡∶Sis 620 AGP 
声卡∶CS46xx 
网络卡∶D-Link DFE530TX (ver A) 
显示器∶Alfscan G17 17 寸 
操作系统∶安装 Windows 98 与 RH7.0 + CLE 1.0

一、开启硬盘 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 68 (UltraDMA mode4) 
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

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

三、下载 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%,而窗口程序的反应感觉上与 Windows 98 差不多了。

posted @ 2022-02-12 11:10  专注it  阅读(218)  评论(0编辑  收藏  举报