淺談linux效能調優之七:裁剪系統服務 淺談linux效能調優之六:IO調度演算法的選擇http://www.bkjia.com/os/201307/228389.html 通常部署應用服務,對單台伺服器而言只提供單一服務,甚至利用叢集技術,分布式技術多台伺服器來提供高可用,高效能的服務。這樣對於大多系統提供多種服務 的現狀顯然不符,這就要求我們管理員手動管理,一方面節省了CPU,記憶體等電腦資源,這些節省的資源可以給開啟的服務提供,可能對於單台伺服器而言效能 提升不是很大,若伺服器數量過大的話就比較明顯,另一方面,對於互連網安全中的一個重要原則:開啟服務越少,系統越安全,在linux中我們可以直接使 用"/etc/init.d/* stop" 關閉系統中多餘的服務,但是這是臨時的,我們可以使用chkconfig命令來管理,但是在關閉這些服務時,一定要瞭解該服務的作用,以及確定系統不使用 這些資源時,系統正常運行 我收集了一些系統預設提供的服務的資訊,你可以根據自己的需求來關閉所有不需要的服務:***********************************************************************************************************1.alsasound :Alsa音效卡驅動精靈。Alsa音效卡驅動程式本來是為了 一種音效卡GravisUltraSound(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安全通訊端的Proxy 伺服器守護進程。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:中文IME伺服器守護進程。35. iptables:iptables防火牆守護進程。36. irda:紅外線連接埠守護進程。37. isdn:isdn啟動和中止服務守護進程。38. krb5-telnet:使用kerberos 5認證的telnet守護進程。39. klogin:遠程登陸守護進程。40. keytable: 該進程的功能是轉載在/etc/sysconfig/keyboards裡定義的鍵盤對應表,該表可以通過kbdconfig工具進行選擇。您應該使該程式處於啟用狀態。41. irqbalance:對多個系統處理器環境下的系統插斷要求進行Server Load Balancer的精靈。如果你只安裝了一個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 core2中最新推出的兩個後台啟動並執行精靈。其作用是在啟動系統期間,將啟動系統所要用到的檔案首先讀取到記憶體中,然後在記憶體中進行執行,以加快系統的啟動速度。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:Proxy 伺服器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/bash2CloseNotneedService() {3 Services = "smartd vsftpd dhcpd bluetooch"4 for ServiceName in $Services5 do6 chkconfig $ServiceName off7 /etc/init.d/$ServiceName stop8 done9}