Linux服务启动优化
2020-07-08 13:06:10
供稿:网友
下面现介绍一下运行次序和运行级别:
一个 Linux 系统的引导过程可以分为几个阶段。我们主要看看当内核加载后的那一个阶段.你可以运行runlevel 命令来确定您的系统当前的运行级,当内核被加载并开始运行时会调用 /sbin/init 程序,这个程序以 root 身份运行,并且在开始引导时按照要求设定为“运行级”。 系统服务
rc 脚本负责启动用户需要的所有服务。就像名字所描述的一样,所谓服务就是系统提供的有用的工具。可能会有很多服务需要启动。大部分的 Linux 系统会启动 sshd(安全Shell服务)、syslog(系统日志工具)和 lpd(打印服务),但还会有更多的服务需要启动。
过多的服务会增加开机的时间,优化关闭不需要的服务将会提高启动时间。
输入system-config-services看看系统都启动那些服务.
关闭不使用的服务:
(此部分可能存在风险,如果你不确定的服务请不要关闭他,此优化针对桌面用户)
NetworkManager 关闭
NetworkManagerDispatcher 关闭
anacron关闭
atd 关闭
apmd 关闭
avahi-daemon 关闭
avahi-dnsconfd 关闭
bluetooth hcid sdpd hidd dund pand 关闭 (你不使用蓝牙设备)
capi 关闭
cupsd 关闭 (你不使用打印机设备)
dc client dc server 关闭 (你不使用Apache)
firstboot 关闭
gpm 关闭 (终端中鼠标支持 你可以3中开启,5中关闭)
hplip hpiod hpssd 关闭 (你不使用打印机设备开启)
ip6tables 关闭
irqbalance 关闭 (多核CPU开启)
irda irattach 关闭 (使用红外开启)
im sensors 关闭
mdmonitor 关闭
mdmpd 关闭
netplugd 关闭
netfs 关闭
ntpd 关闭
pcscd 关闭
portmap 关闭
rpcgssd rpcidmapd rpcsvcgssd 关闭
sendmail 关闭
smb 关闭
******************** 认识linux服务
请先阅读Fedora服务管理指南。了解什么是服务/后台进程(services/daemons),什么是运行级别(runlevels)以及各种用于管理服务(sevices)的工具。
你可以在命令行下使用chkonfig或ntsysv命令来管理服务(services),或者使用具有图形用户界面的system-config-services命令。GNOME用户:系统-》管理-》服务器设置-》Services。
--------------------------------------------------------------------------------
单个服务介绍
现在我们介绍FedoraCore6中所包含的各种服务(services)的功能,并提供使用建议。这不是一份详尽的清单。小心:不要关闭你不确定或不知道的服务(services)。
不要关闭以下服务(除非你有充足的理由):
acpid,haldaemon,messagebus,klogd,network,syslogd
请确定修改的是运行级别3和5。
--------------------------------------------------------------------------------
NetworkManager,NetworkManagerDispatcher
NetworkManager是一个自动切换网络连接的后台进程。很多笔记本用户都需要启用该功能,它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。一些DHCP用户可能需要开启它。
acpid
ACPI(全称AdvancedConfigurationandPowerInterface)服务是电源管理接口。建议所有的笔记本用户开启它。一些服务器可能不需要acpi。支持的通用操作有:“电源开关“,”电池监视“,”笔记本Lid开关“,“笔记本显示屏亮度“,“休眠”,“挂机”,等等。
anacron,atd,cron
这几个调度程序有很小的差别。建议开启cron,如果你的电脑将长时间运行,那就更应该开启它。对于服务器,应该更深入了解以确定应该开启哪个调度程序。大多数情况下,笔记本/台式机应该关闭atd和anacron。注意:一些任务的执行需要anacron,比如:清理/tmp或/var。
apmd
一些笔记本和旧的硬件使用apmd。如果你的电脑支持acpi,就应该关闭apmd。如果支持acpi,那么apmd的工作将会由acpi来完成。
autofs
该服务自动挂载可移动存储器(比如USB硬盘)。如果你使用移动介质(比如移动硬盘,U盘),建议启用这个服务。
avahi-daemon,avahi-dnsconfd
Avahi是zeroconf协议的实现。它可以在没有DNS服务的局域网里发现基于zeroconf协议的设备和服务。它跟mDNS一样。除非你有兼容的设备或使用zeroconf协议的服务,否则应该关闭它。我把它关闭。
bluetooth,hcid,hidd,sdpd,dund,pand
蓝牙(Bluetooth)是给无线便携设备使用的(非wifi,802.11)。很多笔记本提供蓝牙支持。有蓝牙鼠标,蓝牙耳机和支持蓝牙的手机。很多人都没有蓝牙设备或蓝牙相关的服务,所以应该关闭它。其他蓝牙相关的服务有:hcid管理所有可见的蓝牙设备,hidd对输入设备(键盘,鼠标)提供支持,dund支持通过蓝牙拨号连接网络,pand允许你通过蓝牙连接以太网。
capi
仅仅对使用ISDN设备的用户有用。大多数用户应该关闭它。
cpuspeed
该服务可以在运行时动态调节CPU的频率来节约能源(省电)。许多笔记本的CPU支持该特性,现在,越来越多的台式机也支持这个特性了。如果你的CPU是:Petium-M,Centrino,AMDPowerNow,Transmetta,IntelSpeedStep,Athlon-64,Athlon-X2,IntelCore2中的一款,就应该开启它。如果你想让你的CPU以固定频率运行的话就关闭它。
cron
参见anacron。
cupsd,cups-config-daemon
打印机相关。如果你有能在Fedora中驱动的CUPS兼容的打印机,你应该开启它。
dc_client,dc_server
磁盘缓存(Distcache)用于分布式的会话缓存。主要用在SSL/TLS服务器。它可以被Apache使用。大多数的台式机应该关闭它。
dhcdbd
这是一个让DBUS系统控制DHCP的接口。可以保留默认的关闭状态。
diskdump,netdump
磁盘转储(Diskdump)用来帮助调试内核崩溃。内核崩溃后它将保存一个“dump“文件以供分析之用。网络转储(Netdump)的功能跟Diskdump差不多,只不过它可以通过网络来存储。除非你在诊断内核相关的问题,它们应该被关闭。
dund
参见bluetooth。
firstboot
该服务是Fedora安装过程特有的。它执行在安装之后的第一次启动时仅仅需要执行一次的特定任务。它可以被关闭。
gpm
终端鼠标指针支持(无图形界面)。如果你不使用文本终端(CTRL-ALT-F1,F2..),那就关闭它。不过,我在运行级别3开启它,在运行级别5关闭它。
hidd
参见bluetooth。
hplip,hpiod,hpssd
HPLIP服务在Linux系统上实现HP打印机支持,包括Inkjet,DeskJet,OfficeJet,Photosmart,BusinessInkJet和一部分LaserJet打印机。这是HP赞助的惠普Linux打印项目(HPLinuxPrintingProject)的产物。如果你有相兼容的打印机,那就启用它。
iptables
它是Linux标准的防火墙(软件防火墙)。如果你直接连接到互联网(如,cable,DSL,T1),建议开启它。如果你使用硬件防火墙(比如:D-Link,Netgear,Linksys等等),可以关闭它。强烈建议开启它。
ip6tables
如果你不知道你是否在使用IPv6,大部分情况下说明你没有使用。该服务是用于IPv6的软件防火墙。大多数用户都应该关闭它。阅读这里了解如何关闭Fedora的IPv6支持。
irda,irattach
IrDA提供红外线设备(笔记本,PDA''s,手机,计算器等等)间的通讯支持。大多数用户应该关闭它。
irqbalance
在多处理器系统中,启用该服务可以提高系统性能。大多数人不使用多处理器系统,所以关闭它。但是我不知道它作用于多核CPU''s或超线程CPU''s系统的效果。在单CPU系统中关闭它应该不会出现问题。
isdn
这是一种互联网的接入方式。除非你使用ISDN猫来上网,否则你应该关闭它。
kudzu
该服务进行硬件探测,并进行配置。如果更换硬件或需要探测硬件更动,开启它。但是绝大部分的台式机和服务器都可以关闭它,仅仅在需要时启动。
lm_sensors
该服务可以探测主板感应器件的值或者特定硬件的状态(一般用于笔记本电脑)。你可以通过它来查看电脑的实时状态,了解电脑的健康状况。它在GKrellM用户中比较流行。查看lm_sensors的主页获得更多信息。如果没有特殊理由,建议关闭它。
mctrans
如果你使用SELinux就开启它。默认情况下FedoraCore开启SELinux。
mdmonitor
该服务用来监测SoftwareRAID或LVM的信息。它不是一个关键性的服务,可以关闭它。
mdmpd
该服务用来监测Multi-Path设备(该类型的存储设备能被一种以上的控制器或方法访问)。它应该被关闭。
messagebus
这是Linux的IPC(InterprocessCommunication,进程间通讯)服务。确切地说,它与DBUS交互,是重要的系统服务。强烈建议开启它。
netdump
参见diskdump。
netplugd
Netplugd用于监测网络接口并在接口状态改变时执行指定命令。建议保留它的默认关闭状态。
netfs
该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba等等。如果你连接到局域网中的其它服务器并进行文件共享,就开启它。大多数台式机和笔记本用户应该关闭它。
nfs,nfslock
这是用于Unix/Linux/BSD系列操作系统的标准文件共享方式。除非你需要以这种方式共享数据,否则关闭它。
ntpd
该服务通过互联网自动更新系统时间。如果你能永久保持互联网连接,建议开启它,但不是必须的。
pand
参见bluetooth。
pcscd
该服务提供智能卡(和嵌入在信用卡,识别卡里的小芯片一样大小)和智能卡读卡器支持。如果你没有读卡器设备,就关闭它。
portmap
该服务是NFS(文件共享)和NIS(验证)的补充。除非你使用NFS或NIS服务,否则关闭它。
readahead_early,readahead_later
该服务通过预先加载特定的应用程序到内存中以提供性能。如果你想程序启动更快,就开启它。
restorecond
用于给SELinux监测和重新加载正确的文件上下文(filecontexts)。它不是必须的,但如果你使用SELinux的话强烈建议开启它。
rpcgssd,rpcidmapd,rpcsvcgssd
用于NFSv4。除非你需要或使用NFSv4,否则关闭它。
sendmail
除非你管理一个邮件服务器或你想在局域网内传递或支持一个共享的IMAP或POP3服务。大多数人不需要一个邮件传输代理。如果你通过网页(hotmail/yahoo/gmail)或使用邮件收发程序(比如:Thunderbird,Kmail,Evolution等等)收发程序。你应该关闭它。
smartd
SMARTDiskMonitoring服务用于监测并预测磁盘失败或磁盘问题(前提:磁盘必须支持SMART)。大多数的桌面用户不需要该服务,但建议开启它,特别是服务器。
smb
SAMBA服务是在Linux和Windows之间共享文件必须的服务。如果有Windows用户需要访问Linux上的文件,就启用它。查看如何在FedoraCore6下配置Samba。
sshd
SSH允许其他用户登录到你的系统并执行程序,该用户可以和你同一网络,也可以是远程用户。开启它存在潜在的安全隐患。如果你不需要从其它机器或不需要从远程登录,就应该关闭它。
xinetd
(该服务默认可能不被安装)它是一个特殊的服务。它可以根据特定端口收到的请求启动多个服务。比如:典型的telnet程序连接到23号端口。如果有telent请求在23号端口被xinetd探测到,那xinetd将启动telnetd服务来响应该请求。为了使用方便,可以开启它。运行chkconfig--list,通过检查xinetd相关的输出可以知道有哪些服务被xinetd管理。