浅谈linux性能调优之七:裁剪系统服务
浅谈linux性能调优之六:IO调度算法的选择
http://www.zhishiwu.com/os/201307/228389.html
通常部署应用服务,对单台服务器而言只提供单一服务,甚至利用集群技术,分布式技术多台服务器来提供高可用,高性能的服务。这样对于大多系统提供多种服务 的现状显然不符,这就要求我们管理员手动管理,一方面节省了CPU,内存等计算机资源,这些节省的资源可以给开启的服务提供,可能对于单台服务器而言性能 提升不是很大,若服务器数量过大的话就比较明显,另一方面,对于互联网安全中的一个重要原则:开启服务越少,系统越安全,在linux中我们可以直接使 用"/etc/init.d/* stop" 关闭系统中多余的服务,但是这是临时的,我们可以使用chkconfig命令来管理,但是在关闭这些服务时,一定要了解该服务的作用,以及确定系统不使用 这些资源时,系统正常运行
我收集了一些系统默认提供的服务的信息,你可以根据自己的需求来关闭所有不需要的服务:
***********************************************************************************************************
1.alsasound :Alsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis
UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写 驱动程序。 Alsa和OSS/Free
及OSS/Linux兼容,但是有自己的接 口,甚至比OSS优秀。
2. acpid:acpid(Advanced Configuration and Power Interface)是为替代传统的APM电源管理标准而推出的新型电源管理标准。通常笔记本电脑需要启动电源进行管理。
3. atalk:AppleTalk网络守护进程。注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化。
4. amd: 自动安装NFS守护进程。
5.
anacron:一个自动化运行任务守护进程。Red Hat Linux 随带四个自动化任务的工具:cron、 anacron、at、和
batc。当你的Linux服务器并不是全天运行,这个anacron就可以帮你执行在"crontab"设定的时间内没有执行的工作。
6. apmd:apmd(Advanced Power Management)是高级电源管理。传统的电源管理标准,对于笔记本电脑比较有用,可以了解系统的电池电量信息。并将相关信息通过syslogd 写入日志。也可以用来在电源不足时关机。
7. arptables_jf :为arptables网络的用户控制过滤的守护进程。
8. arpwatch: 记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库 。
atd:at和batch命令守护进程,用户用at命令调度的任务。Batch用于在系统负荷比较低时 运行批处理任务。
9. autofs:自动安装管理进程automount,与NFS相关,依赖于NIS服务器。
10. bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息。
11. bluetooch:蓝牙服务器守护进程。
12. crond :cron是Unix下的一个传统程序,该程序周期地运行用户 调度的任务。比起传统的Unix版本,Linux版本添加了不少属性,而且更安全,配置更简单。类似计划任务。
13. chargen:使用tcp协议的chargen server,chargen(Character Generator Protocol)是一种网络服务,主要功能是提供类似远程打字的功能。
14. chargen-udp:使用UDP协议的chargen server。
15. cpuspeed:监测系统空闲百分比,降低或加快CPU时钟速度和电压从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度。
16. dhcpd:动态主机控制协议(Dynamic Host Control Protocol)的服务守护进程。
17. cups: cups(Common UNIX Printing System)是通用UNIX打印守护进程,为Linux提供第三代打印功能。
18. cups-config-daemons:cups打印系统切换守护进程。
19. cups-lpd:cups行打印守护进程。
20. daytime:使用TCP 协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期 和时间的功能。预设端口:13。
21. daytime-udp:使用UDP 协议的Daytime守护进程。
22. dc_server:使用SSL安全套接字的代理服务器守护进程。
23. dc_client:使用SSL安全套接字的客户端守护进程。
24. diskdump:服务器磁盘备份守护进程。
25. echo:服务器回显客户数据服务守护进程。
26. echo-udp:使用UDP协议的服务器回显客户数据服务守护进程。
27. eklogin:接受rlogin会话鉴证和用kerberos5加密的一种服务的守护进程。
28. gated :网关路由守护进程。它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、 OSPF版本2以及EGP版本2到4。
29. gpm:gpm(General Purpose Mouse Daemon )守护进程为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标 的拷贝,粘贴操作以及弹出式菜单。
30. gssftp: 使用kerberos 5认证的ftp守护进程
31. httpd:Web服务器Apache守护进程,可用来提供HTML文件以 及CGI动态内容服务。
32. inetd :因特网操作守护程序。监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序。在Redhat 和Mandrake linux中被xinetd代替。Debian, Slackware, SuSE仍然使用。
33. innd:Usenet新闻服务器守护进程。
34. iiim:中文输入法服务器守护进程。
35. iptables:iptables防火墙守护进程。
36. irda:红外端口守护进程。
37. isdn:isdn启动和中止服务守护进程。
38. krb5-telnet:使用kerberos 5认证的telnet守护进程。
39. klogin:远程登陆守护进程。
40. keytable: 该进程的功能是转载在/etc/sysconfig/keyboards里定义的键盘映射表,该表可以通过kbdconfig工具进行选择。您应该使该程序处于激活状态。
41. irqbalance:对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序。如果你只安装了一个CPU,就不需要加载这个守护程序。
42. kshell :kshell守护进程。
43.
kudzu:硬件自动检测程序,会自动检测硬件是否发生变动,并相应进行硬件的添加、删除工作。当系统启动时,kudzu会对当前的硬件进行检测,并且和
存储在
/etc/sysconfig/hwconf中的硬件信息进行对照,如果某个硬件从系统中被添加或者删除时,那么kudzu就会察觉到,并且
通知用户是否进行相关配置,然后修改etc/sysconfig/hwconf,使硬件资料与系统保持同步。如果
/etc/sysconfig/hwconf这个文件不存在,那么kudzu将会从/etc/modprobe.conf,
/etc/sysconfig/network-scripts/和
etc/X11/XF86Config中探测已经存在的硬件。如果你不打算增加新硬件,那么就可以关闭这个启动服务,以加快系统启动时间。
44. ldap:ldap(Lightweight Directory Access Protocol)目录访问协议服务器守护进程。
45. lm_seroems:检测主板工作情况守护进程。
46. lpd :lpd是老式打印守护程序,负责将lpr等程序提交给打印 作业。
47. mdmonitor:RAID相关设备的守护程序。
48.
messagebus:D-BUS是一个库,为两个或两个以上的应用程序提供一对一的通讯。
dbus-daemon-1是一个应用程序,它使用这个库来实现messagebus守护程序。多个应用程序通过连接messagebus守护程序可以实
现与其他程序交换信息。
49. microcode_ctl:可编码以及发送新的微代码到内核以更新Intel IA32系列处理器守护进程。
50. mysqld: 一个快速高效可靠的轻型SQL数据库引擎守护进程。
51. named:DNS(BIND)服务器守护进程。
52. netplugd:netplugd(network cable hotplug management daemon)守护程序,用于监控一个或多个网络接口的状态,当某些事件触发时运行一个外部脚本程序。
53. netdump:远程网络备份服务器守护进程。
54. netfs:Network Filesystem Mounter,该进程安装和卸载NFS、SAMBA和NCP网络文件系统。
55. nfs:网络文件系统守护进程。
56. nfslock:NFS是一个流行的通过TCP/IP网络共享文件的协议,此守护进程提供了NFS文件锁定功能。
57. ntpd:Network time Protocol daemon(网络时间校正协议)。ntpd是用来使系统和一个精确的时间源保持时间同步的协议守护进程。
58. network:激活/关闭启动时的各个网络接口守护进程。
59. psacct:该守护进程包括几个工具用来监控进程活动的工具,包括ac,lastcomm, accton 和sa。
60. pcmcia:主要用于支持笔记本电脑接口守护进程。
61. portmap:该守护进程用来支持RPC连接,RPC被用于NFS以及NIS 等服务。
62. postgresql: PostgreSQL 关系数据库引擎。
63. proftpd: proftpd 是Unix下的一个配置灵活的ftp服务器的守护程序。
64. pppoe:ADSL连接守护进程。
65. random :保存和恢复系统的高质量随机数生成器,这些随机数是系 统一些随机行为提供的。
66. rawdevices:在使用集群文件系统时用于加载raw设备的守护进程。
67.
readahead、readahead_early:readahead和readahead_early是在Fedora core
2中最新推出的两个后台运行的守护程序。其作用是在启动系统期间,将启动系统所要用到的文件首先读取到内存中,然后在内存中进行执行,以加快系统的启动速
度。
68. rhnsd:Red Hat 网络服务守护进程。通知官方的安全信息以及为系统打补丁。
69. routed :该守护程序支持RIP协议的自动IP路由表维护。RIP主要 使用在小型网络上,大一点的网络就需要复杂一点的协议。
70. rsync:remote sync远程数据备份守护进程。
71. rsh :远程主机上启动一个shell,并执行用户命令。
72. rwhod: 允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表。
73. rstatd:一个为LAN上的其它机器收集和提供系统信息的守候进程。
74. ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息
75. rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息 。
76. rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务。
77. saslauthd: 使用SASL的认证守护进程。
78. sendmail:邮件服务器sendmail守护进程。
79. smb:Samba文件共享/打印服务守护进程。
80. snmpd:本地简单网络管理守护进程。
81. squid:代理服务器squid守护进程。
82. sshd:OpenSSH服务器守护进程。Secure Shell Protocol可以实现安全地远程管理主机。
83. smartd:Self Monitor Analysis and Reporting Technology System,监控你的硬盘是否出现故障。
84. syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本。
85. time :该守护进程从远程主机获取时间和日期,采用TCP协议。
86. time-udp: 该守护进程从远程主机获取时间和日期,采用UDP协议。
87. tux:在Linux内核中运行apache服务器的守护进程。
88. vsftpd:vsftpd服务器的守护进程。
89. vncserver: VNC (Virtual Network Computing,虚拟网络计算),它提供了一种在本地系统上显示远程计算机整个"桌面"的轻量型协议。
90. xfs:X Window字型服务器守护进程,为本地和远程X服务器提供字型集。
91. xinetd:支持多种网络服务的核心守护进程。
92. ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程 。
93. yppasswdd:NIS口令服务器守护进程。
94. ypserv:NIS主服务器守护进程。
95. yum:RPM操作系统自动升级和软件包管理守护进程。
***********************************************************************************************************
总结:这节所说的,要求理解管理员理解服务器的必需性,操作比较简单可以借助shell脚本来部署
示例:
1
#/bin/bash
2
CloseNotneedService() {
3
Services = "smartd vsftpd dhcpd bluetooch"
4
for ServiceName in $Services
5
do
6
chkconfig $ServiceName off
7
/etc/init.d/$ServiceName stop
8
done
9
}