成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux啟動全線提速指南

系統 Linux
隨著Linux系統運用的越來越廣泛,利用Linux系統處理的東西就越多,時間就越來越緊。本文就介紹下Linux啟動全線提速的方法,供大家參考。

       Linux系統是十分優秀的操作系統,但啟動時間長是該系統的缺點之一。那么能否通過一些設置來縮短Linux系統的啟動時間呢?當然可以。本文將向讀者展示如何在不犧牲Linux系統可用性的前提下,縮短系統的啟動時間。要實現這一目標,需要了解系統的各類服務及它們之間的從屬關系,進而使它們在條件允許的前提下同時啟動,從而大大節省系統啟動時間。

  準備工作

  如果想采用本文介紹的方法對Linux系統進行設置,首先要熟悉Linux系統的設置語言。對系統的啟動過程進行設置是一項比較危險的行為,容易造成系統無法啟動。一旦發生這種情況,最好重新啟動系統后選擇單一用戶模式,將系統還原并重啟。當然,最重要的是在設置前備份重要數據。

  其次,建議用戶最好在對本機系統進行修改前,先進行修改測試。如果用戶只有一臺計算機,那么這里建議使用用戶模式Linux系統(UML)進行測試。UML是一個內核補丁,它可以將Linux系統的內核轉譯成為二進制,以便用戶可以像使用普通軟件那樣運行Linux系統。一旦出現意外情況,損失的只是UML,而原系統卻可安然無恙。

  Linux系統的啟動順序和runlevel

  Linux系統的啟動包括多個步驟,這里主要介紹一下內核加載后的系統啟動步驟。用戶可以通過運行/sbin/runlevel命令來查看系統目前的runlevel。runlevel是Linux系統用來區別系統高級啟動設置類型的數字。這些數字十分常見,它們中的絕大多數都有著明確的含義。以Red Hat Linux系統為例,它的runlevel主要有以下幾種(見表1):

runlevel 

表1

  init如何初始化系統

  init可以通過一個ASCⅡ設置文件得知如何改變系統的runlevel。通常情況下該設置文件可以指引init來執行/etc/rc.d/rc命令,從而獲得runlevel的相關信息。

  系統服務

  用戶所需要的各種系統服務都是由rc指令程序來啟動的。系統潛在的服務紛繁復雜。大多數Linux系統通常只提供sshd(SecureShell服務)、syslog(系統日志工具)和lpd(打印服務)等功能。

  用戶可以從/etc/rc.d/目錄?姓業剿械姆務。如果打開這個目錄,會發現許多服務只是一種外殼程序,它只是引導其它程序來完成工作。也許有人會問,rc程序是如何知道每個runlevel要運行哪些程序呢?答案是在/etc/rc.d/目錄下面與init.d/目錄并列的還有一些目錄,它們各自對應著自己的runlevel。它們的名稱為rc*.d/,例如runlevel 5就是/etc/rc.d/rc5.d/。每個rc*.d/目錄中包含著兩個符號鏈接,這些鏈接可以連接到/etc/init.d/目錄中的指定服務程序。

  動手改造

  務的啟動和終止

  如果用戶決定要啟動Linux系統并進入圖形模式(runlevel 5),那么當init引導rc指令程序運行并將runlevel的級數告知它時,rc指令程序將對/etc/rc.d/rc5.d/進行查看,接著它將執行從該目錄中找到所有鏈接。rc指令程序執行鏈接的過程可分為兩部分,首先它將執行所有名稱以“K”打頭的鏈接,將“stop”參數傳遞給它們,并停止這些鏈接指向的所有服務。這些服務停止后,rc指令程序將執行所有名稱以“S”打頭的鏈接,并將“start”參數傳遞給它們,啟動這些鏈接所指向的服務。

  另外,rc指令程序可以根據鏈接名稱的兩個十進制數,確定鏈接的執行順序,數字小的先執行。

  下面將舉一個例子,幫助用戶加深理解。當用戶啟動系統進入runlevel 5時,首先要執行的鏈接是K05saslauthd,由于它是以“K”打頭的,而且后兩位十進制數要小于其它以“K”打頭的鏈接。第一個要執行的啟動鏈接是S05kudzu。最后執行的將是S99local。下面是runlevel 5狀態下指向程序的鏈接。

 

  1.   # cd /etc/rc.d/rc5.d  
  2.  
  3.   # ls -al  
  4.  
  5.   total 8  
  6.  
  7.   drwxr-xr-x 2 root root 4096 Jul 15 09:29 .  
  8.  
  9.   drwxr-xr-x 10 root root 4096 Jun 21 08:52 ..  
  10.  
  11.   lrwxrwxrwx 1 root root 19 Jan 1 2000 K05saslauthd -> ../init.d/saslauthd  
  12.  
  13.   lrwxrwxrwx 1 root root 20 Feb 1 2003 K15postgresql -> ../init.d/postgresql  
  14.  
  15.   lrwxrwxrwx 1 root root 13 Jan 1 2000 K20nfs -> ../init.d/nfs  
  16.  
  17.   lrwxrwxrwx 1 root root 14 Jan 1 2000 K24irda -> ../init.d/irda  
  18.  
  19.   lrwxrwxrwx 1 root root 17 Jan 1 2000 K35winbind -> ../init.d/winbind  
  20.  
  21.   lrwxrwxrwx 1 root root 15 Jan 1 2000 K50snmpd -> ../init.d/snmpd  
  22.  
  23.   ……  
  24.  
  25.   lrwxrwxrwx 1 root root 18 Feb 8 11:15 K92iptables -> ../init.d/iptables  
  26.  
  27.   lrwxrwxrwx 1 root root 19 Feb 1 2003 K95firstboot -> ../init.d/firstboot  
  28.  
  29.   lrwxrwxrwx 1 root root 15 Jan 1 2000 S05kudzu -> ../init.d/kudzu  
  30.  
  31.   lrwxrwxrwx 1 root root 14 Jun 21 08:55 S09isdn -> ../init.d/isdn  
  32.  
  33.   lrwxrwxrwx 1 root root 17 Jan 1 2000 S10network -> ../init.d/network  
  34.  
  35.   lrwxrwxrwx 1 root root 16 Jan 1 2000 S12syslog -> ../init.d/syslog  
  36.  
  37.   lrwxrwxrwx 1 root root 17 Jan 1 2000 S13portmap -> ../init.d/portmap  
  38.  
  39.   lrwxrwxrwx 1 root root 17 Jan 1 2000 S14nfslock -> ../init.d/nfslock  
  40.  
  41.   lrwxrwxrwx 1 root root 18 Jan 1 2000 S17keytable -> ../init.d/keytable  
  42.  
  43.   lrwxrwxrwx 1 root root 16 Jan 1 2000 S20random -> ../init.d/random  
  44.  
  45.   lrwxrwxrwx 1 root root 16 Jun 21 08:52 S24pcmcia -> ../init.d/pcmcia  
  46.  
  47.   lrwxrwxrwx 1 root root 15 Jan 1 2000 S25netfs -> ../init.d/netfs  
  48.  
  49.   lrwxrwxrwx 1 root root 14 Jan 1 2000 S26apmd -> ../init.d/apmd  
  50.  
  51.   lrwxrwxrwx 1 root root 16 Jan 1 2000 S28autofs -> ../init.d/autofs  
  52.  
  53.   lrwxrwxrwx 1 root root 14 Jan 1 2000 S55sshd -> ../init.d/sshd  
  54.  
  55.   lrwxrwxrwx 1 root root 20 Jan 1 2000 S56rawdevices -> ../init.d/rawdevices  
  56.  
  57.   lrwxrwxrwx 1 root root 16 Jan 1 2000 S56xinetd -> ../init.d/xinetd  
  58.  
  59.   lrwxrwxrwx 1 root root 14 Feb 1 2003 S58ntpd -> ../init.d/ntpd  
  60.  
  61.   lrwxrwxrwx 1 root root 13 Jun 21 10:42 S60afs -> ../init.d/afs  
  62.  
  63.   ……  
  64.  
  65.   lrwxrwxrwx 1 root root 18 Jan 1 2000 S80sendmail -> ../init.d/sendmail  
  66.  
  67.   lrwxrwxrwx 1 root root 13 Jan 1 2000 S85gpm -> ../init.d/gpm  
  68.  
  69.   lrwxrwxrwx 1 root root 15 Mar 22 08:24 S85httpd -> ../init.d/httpd  
  70.  
  71.   ……  
  72.  
  73.   lrwxrwxrwx 1 root root 14 Jul 15 09:29 S98wine -> ../init.d/wine  
  74.  
  75.   lrwxrwxrwx 1 root root 13 Feb 8 17:26 S99db2 -> ../init.d/db2  
  76.  
  77.   lrwxrwxrwx 1 root root 11 Jun 21 08:52 S99local -> ../rc.local  
  78.  

 

  如果用戶想暫時終止某一runlevel的一項服務,只要刪除相對應的鏈接就行了。然而,對鏈接進行手動設置是一項繁重而又易錯的工作,但有一個十分有用的幫手,它的名字叫chkconfig。

#p#

  分辨沒被終止的服務

  要想了解哪些服務沒有被終止,那么用戶需要運行/sbin/chkconfig -list命令。下面展示了命令執行后的顯示結果,用戶可以清楚地看到每一行有八項內容。chkconfig命令還可以用來開啟或終止某一服務。

 

  1.   afs 0:off 1:off 2:off 3:on 4:off 5:on 6:off  
  2.  
  3.   anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off  
  4.  
  5.   apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off  
  6.  
  7.   atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off  
  8.  
  9.   autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off  
  10.  
  11.   crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off  
  12.  
  13.   ………  
  14.  

 

  上面左起第一列顯示的是服務的名稱,接下來的第二列顯示的是所在的runlevel和當前狀態。例如ntpd(網絡時間無交互后臺程序)服務被設定只在runlevel 3和runlevel 5開啟,而sshd服務則在runlevel 2、3、4和5開啟。

  也許用戶會發現,在runlevel 0和runlevel 6沒有啟動的服務,是因為runlevel 0 和runlevel 6表示系統終止,當然沒有服務了。

  從屬關系

  正如上文提到的,系統啟動時要逐一運行每個runlevel的服務。也許用戶很容易想到,如果可以使多個服務同時運行,必然會節省大量的系統啟動時間。但不幸的是這種方法行不通,原因是各項服務之間都存在著從屬關系。

  傳統的Linux系統并不能給用戶指明服務間的從屬關系。

  現在通過一個簡單的例子講解如何明確服務間的從屬關系。從ntpd服務需要一個網絡基礎可以得出結論――ntpd服務要依靠網絡服務,這一關系可以用下面的語句表示:

  ntpd:network

  用戶可以確定netfs服務也要依靠網絡服務,autofs服務也要依靠網絡服務,現在就可以列出一個簡單的從屬關系表:

  ntpd : network

  netfs : network

  autofs : network

  它的含義是一旦網絡服務開啟完畢,可以同時運行ntpd、netfs和autofs服務。假設啟動每項服務需要10秒的時間,用傳統的方法啟動上面的四項服務就需要40秒的時間,而使用上面提到的方法只需要20秒就夠了。事實上,各項服務的啟動時間是不同的,但道理是一樣的。

  再例如,lpd服務(S60lpd)要在網絡服務后運行,但對于一個擁有噴墨打印機接口的家用系統而言,不必先建立網絡連接再安裝打印機。在這種情況下,更合理的狀況應該是打印機服務先于網絡服務。另外crond服務(S90crond)同樣應該在網絡服務后運行。但是,除非用戶有可以使用遠端計算機文件的cron文件,否則crond服務根本不必在網絡服務前運行。

   Linux系統想提升運行速度,就按照上面文章描述一步一步做,保證你的Linux系統速率能提高,希望對大家有所幫助。

【編輯推薦】

  1. linux認證:linux磁盤修復相關命令
  2. 能在Linux系統下運行Windows軟件的Wine
  3. 手把手教你安裝Linux
  4. linux shell攻略上篇
  5. linux shell攻略下篇
  6. 教你幾招提高Linux服務器安全的方法

 

責任編輯:趙鵬
相關推薦

2011-11-10 08:55:00

Node.js

2017-03-16 09:51:39

開源OdooSSD

2014-07-11 11:15:12

2011-09-21 19:57:47

網神防火墻

2012-06-05 10:11:02

寬帶提速寬帶

2009-09-08 10:48:25

2009-12-21 09:13:09

Ubuntu啟動速度

2009-09-29 10:35:42

Linux系統系統提速Linux

2012-03-31 09:42:06

寬帶

2012-06-01 10:19:43

IPv6網絡IPv6

2021-03-05 10:57:49

Edge瀏覽器微軟

2021-03-05 08:50:08

微軟Edge瀏覽器

2011-12-28 14:53:54

傲游瀏覽器體驗

2021-03-07 12:00:43

微軟Edge瀏覽器

2009-12-10 09:55:05

802.11ac千兆無線標準

2013-12-23 12:54:30

華為UPSUPS供電

2010-03-11 16:20:49

VeriSign根證書密鑰

2011-05-12 11:06:23

2011-01-10 13:21:45

linuxsamba

2012-11-15 16:03:43

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 亚洲国产一区二区三区在线观看 | 日韩精品一区二区三区中文在线 | 91精品国产综合久久久久久丝袜 | 国产成人99久久亚洲综合精品 | 91精品在线观看入口 | 成人av免费 | 久久精品中文字幕 | 欧美日韩电影一区 | 国产欧美日韩在线播放 | 免费特黄视频 | 91视频在线 | 国产精品一二区 | 爱爱视频日本 | 国产精品久久久久久久久久了 | 亚洲人成人一区二区在线观看 | 亚洲欧美日韩精品久久亚洲区 | 久一精品| 日韩高清成人 | 欧美日韩一区在线 | 色狠狠一区 | 日韩成人 | 中文字幕精品一区二区三区精品 | 欧美日韩黄 | 99re免费| 毛片一区二区三区 | 一区二区三区免费在线观看 | 日韩免费成人av | 欧美日韩高清一区 | 久久久久国 | 91精品国产综合久久久动漫日韩 | 久久久久久看片 | 狠狠狠干 | 天天干天天色 | 国产aⅴ爽av久久久久久久 | 中文字幕日韩欧美一区二区三区 | 一区二区在线观看免费视频 | 日韩在线精品强乱中文字幕 | 一级大黄色片 | 青青久久av北条麻妃海外网 | 久草在线高清 |