自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux系統(tǒng)運(yùn)維應(yīng)用工具的使用和實(shí)戰(zhàn)

運(yùn)維 系統(tǒng)運(yùn)維
企業(yè) Linux 系統(tǒng)的運(yùn)維成為目前企業(yè)關(guān)注的重點(diǎn)。作為一種優(yōu)秀的開(kāi)源網(wǎng)絡(luò)操作系統(tǒng),如何充分利用 Linux 的工具并使用相應(yīng)的方法來(lái)提高運(yùn)維效率是非常重要的工作。本專題將詳細(xì)介紹幾個(gè)對(duì)系統(tǒng)管理員比較重要的工具和概念,為企業(yè) Linux 的實(shí)際運(yùn)維提供有益參考。

  企業(yè) Linux 系統(tǒng)的運(yùn)維成為目前企業(yè)關(guān)注的重點(diǎn)。作為一種優(yōu)秀的開(kāi)源網(wǎng)絡(luò)操作系統(tǒng),如何充分利用 Linux 的工具并使用相應(yīng)的方法來(lái)提高運(yùn)維效率是非常重要的工作。本專題將詳細(xì)介紹幾個(gè)對(duì)系統(tǒng)管理員比較重要的工具和概念,它涵蓋了操作硬盤分區(qū)、如何避免產(chǎn)生問(wèn)題以及如何解決系統(tǒng)問(wèn)題的內(nèi)容,以為企業(yè) Linux 的實(shí)際運(yùn)維提供有益參考。

  應(yīng)用工具一:應(yīng)用parted 報(bào)告并分區(qū)硬盤

  parted(分區(qū)編輯器)實(shí)用程序從命令行報(bào)告和操作硬盤分區(qū)。palimpsest 實(shí)用程序使用 GUI 執(zhí)行相同的任務(wù)。此外,parted print 命令會(huì)顯示 /dev/sda 驅(qū)動(dòng)器上的分區(qū)信息:

  1. # parted /dev/sda print   
  2. Model: ATA Hitachi HDS12345 (scsi)   
  3. Disk /dev/sda: 165GB   
  4. Sector size (logical/physical): 512B/512B   
  5. Partition Table: msdos   
  6.  
  7. Number Start End Size Type File system Flags   
  8. 1 32kB 1045MB 1045MB primary ext4 boot   
  9. 2 1045MB 12GB 10GB primary ext4   
  10. 3 12GB 22GB 10GB primary ext4   
  11. 4 22GB 165GB 143GB extended   
  12. 5 22GB 23GB 1045MB logical linux-swap(v1)   
  13. 6 23GB 41GB 18GB logical ext4   
  14. 7 41GB 82GB 41GB logical ext4  

  在這個(gè)例子中,parted 顯示的前幾行表示型號(hào)名稱、設(shè)備名稱、設(shè)備容量以及設(shè)備上的分區(qū)表類型。在這些信息之后,print 命令還會(huì)顯示一些列,用戶可以根據(jù)提示來(lái)進(jìn)行操作。

  Number 列表示持有該分區(qū)的設(shè)備的次設(shè)備號(hào)。這個(gè)數(shù)字與設(shè)備名稱中的***的數(shù)字相同。在這個(gè)例子中,5 對(duì)應(yīng) /dev/sda5。

  Start 列表示分區(qū)開(kāi)始所在的磁盤位置。Parted 實(shí)用程序指定一個(gè)磁盤位置作為從磁盤開(kāi)始到分區(qū)的距離(以字節(jié)為單位)。因此,分區(qū) 3 始自從磁盤開(kāi)始的 12 GB 的位置。

  End列表示分區(qū)結(jié)束所在的磁盤位置。雖然分區(qū) 2 結(jié)束自從磁盤開(kāi)始的 12 GB 的位置,分區(qū) 3 始自同一位置,parted 需要注意的是單個(gè)字節(jié)不能在分區(qū)間重疊。

  Size列表示分區(qū)以千字節(jié)(KB)、兆字節(jié)(MB)或千兆字節(jié)(GB)為單位的大小。

  Type 列表示分區(qū)類型:主、擴(kuò)展或邏輯。參見(jiàn)圖 1 的分區(qū)信息。

  File system 列表示文件系統(tǒng)類型:ext2、ext3、ext4、fat32、linux-swap 等等。

  Flags 列是分區(qū)打開(kāi)標(biāo)志,包括 boot、raid和 lvm。在這個(gè)例子中,1 號(hào)分區(qū)是引導(dǎo)分區(qū)。

  圖 1. 例子中的主分區(qū)和擴(kuò)展分區(qū)

  在前面的例子中,分區(qū) 4 定義了一個(gè)擴(kuò)展分區(qū),其中包含 165GB 磁盤中的 143 GB(如圖 1)。使用時(shí)不能更改邏輯分區(qū),否則會(huì)影響其中的所有邏輯分區(qū)。

  除了報(bào)告硬盤的布局和大小,還可以采用交互式方式使用 parted 修改磁盤布局。當(dāng)使用這種方式時(shí)要格外小心,開(kāi)始使用此實(shí)用工具之前必需先備份系統(tǒng)。注意更改磁盤上的分區(qū)信息(分區(qū)表)會(huì)破壞磁盤上的信息。請(qǐng)先閱讀 parted 信息頁(yè),然后再嘗試修改分區(qū)表。值得注意的是:錯(cuò)誤的 parted 使用可以摧毀磁盤上的一切數(shù)據(jù)。

  使用 parted 要小心,因?yàn)槟闶窃谑褂靡粋€(gè)可以格式化硬盤的實(shí)用程序。使用 parted 所做的更改很容易導(dǎo)致大量數(shù)據(jù)的丟失。如果使用 parted 所做的事情有任何問(wèn)題,在應(yīng)用其更改之前使用 q 命令退出。輸入命令后,parted 會(huì)立即依據(jù)要求進(jìn)行更改。

  要對(duì)磁盤進(jìn)行分區(qū)時(shí),在 parted 命令后需要加上要使用的設(shè)備名稱。在下面的例子中,啟動(dòng) parted 后,用戶輸入 help(或只是 h)命令,會(huì)顯示 parted 命令列表:

  1. # parted /dev/sda  
  2. GNU Parted 2.3  
  3. Using /dev/sda  
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.  
  5. (parted) help  
  6. align-check TYPE N check partition N for TYPE(min|opt) alignment  
  7. check NUMBER do a simple check on the file system  
  8. cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition  
  9. help [COMMAND] print general help, or help on COMMAND  
  10. mklabel,mktable LABEL-TYPE create a new disklabel (partition table)  
  11. mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER  
  12. mkpart PART-TYPE [FS-TYPE] START END make a partition  
  13. mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system  
  14. move NUMBER START END move partition NUMBER  
  15. name NUMBER NAME name partition NUMBER as NAME  
  16. print [devices|free|list,all|NUMBER] display the partition table,  
  17. available devices, free ...  
  18. quit exit program  
  19. rescue START END rescue a lost partition near START and END  
  20. resize NUMBER START END resize partition NUMBER and its file system  
  21. rm NUMBER delete partition NUMBER  
  22. select DEVICE choose the device to edit  
  23. set NUMBER FLAG STATE change the FLAG on partition NUMBER  
  24. toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER  
  25. unit UNIT set the default unit to UNIT  
  26. version display the version number and copyright information of ...  
  27. (parted) 

  Help 后邊跟上一個(gè) parted 命令參數(shù)的名稱,則會(huì)顯示該命令參數(shù)的更多信息。當(dāng)輸入 print(或只是 p)命令時(shí),parted 顯示當(dāng)前分區(qū)信息,就像命令行上的 print 命令一樣。

  parted 實(shí)用程序不允許設(shè)置重疊分區(qū)(除邏輯分區(qū)可以重疊其包含的擴(kuò)展分區(qū)外)。同樣,也不允許創(chuàng)建一個(gè)正好始自磁盤開(kāi)頭(柱面 0)的分區(qū)。這些情況都會(huì)導(dǎo)致數(shù)據(jù)丟失。

  定義一個(gè)磁盤分區(qū)表時(shí),要記住一些基本的準(zhǔn)則。首先,不要?jiǎng)h除或修改定義擴(kuò)展分區(qū)的分區(qū),除非你愿意失去擴(kuò)展分區(qū)內(nèi)所有邏輯分區(qū)上的所有數(shù)據(jù)。其次,如果把 /boot 放在單獨(dú)的分區(qū)上,***放在驅(qū)動(dòng)器開(kāi)頭的位置(分區(qū) 1),以便 Linux 可以從位于驅(qū)動(dòng)器最近的分區(qū)引導(dǎo)。當(dāng)磁盤空間的費(fèi)用不是問(wèn)題時(shí),***把每個(gè)主要文件系統(tǒng)放在單獨(dú)的分區(qū)上。許多人選擇把 /(根), /var 和 /usr 合放在一個(gè)單獨(dú)的分區(qū)中,這通常會(huì)節(jié)省空間,但在偶爾情況下也會(huì)導(dǎo)致問(wèn)題。***,雖然 parted 可以創(chuàng)建某些類型的文件系統(tǒng),但 parted 通常是用來(lái)創(chuàng)建分區(qū),然后可使用 mkfs 和 mkswap 在分區(qū)上創(chuàng)建文件系統(tǒng)。

  以下命令序列(圖 2)在一個(gè)干凈的磁盤上定義了一個(gè) 300 兆字節(jié)、可引導(dǎo)的 Linux 分區(qū),并將其作為分區(qū) 1:

  圖 2. 定義可引導(dǎo) Linux 分區(qū)的命令序列

  當(dāng)在 parted 內(nèi)指定大小時(shí),可以使用后綴 k(千字節(jié))、m(兆字節(jié))或 g(千兆字節(jié))。創(chuàng)建分區(qū)后,輸入 print 命令來(lái)查看分區(qū)的結(jié)束位置。執(zhí)行這個(gè)任務(wù)之前要先定義下一個(gè)相鄰的分區(qū),這樣就不會(huì)浪費(fèi)空間。設(shè)置所有分區(qū)后,使用 quit 命令可退出 parted。

  接下來(lái),在每個(gè)要包含文件系統(tǒng)(非交換)的分區(qū)上創(chuàng)建文件系統(tǒng)。除非有理由不這樣做,否則除了交換分區(qū)外,請(qǐng)把所有分區(qū)設(shè)置為 ext4 類型。使用 mkswap 可在一個(gè)分區(qū)上設(shè)立一個(gè)交換區(qū)。此外,可以使用 e2label 標(biāo)記一個(gè)分區(qū)。#p#

  應(yīng)用工具二:應(yīng)用 logrotate 管理日志文件

  你可能想保留日志文件一段時(shí)間,而不是刪除或截?cái)噙@些文件,以防萬(wàn)一需要時(shí)進(jìn)行參考。通過(guò)輪換、壓縮、發(fā)郵件以及刪除指定的每個(gè)文件,logrotate 實(shí)用工具可以自動(dòng)管理系統(tǒng)日志(和其它)文件。logrotate 實(shí)用程序由 /etc/logrotate.conf 文件控制,該文件用于設(shè)置默認(rèn)值,可以指定要輪換的文件。通常情況下,logrotate.conf 包含一個(gè) include 語(yǔ)句,指向?qū)嵱贸绦蛑付ǖ?/etc/logrotate.d 中的規(guī)范文件。以下是默認(rèn)的 logrotate.conf 文件:

  1. $ cat /etc/logrotate.conf  
  2. # see "man logrotate" for details  
  3. # rotate log files weekly  
  4. weekly  
  5.  
  6. # keep 4 weeks worth of backlogs  
  7. rotate 4  
  8.  
  9. # create new (empty) log files after rotating old ones  
  10. create  
  11.  
  12. # use date as a suffix of the rotated file  
  13. dateext  
  14.  
  15. # uncomment this if you want your log files compressed  
  16. #compress  
  17.  
  18. # RPM packages drop log rotation information into this directory  
  19. include /etc/logrotate.d  
  20. # no packages own wtmp and btmp -- we'll rotate them here  
  21. /var/log/wtmp {  
  22. monthly  
  23. create 0664 root utmp  
  24. minsize 1M  
  25. rotate 1  
  26. }  
  27.  
  28. /var/log/btmp {  
  29. missingok  
  30. monthly  
  31. create 0600 root utmp  
  32. rotate 1  
  33. }  
  34.  
  35. # system-specific logs may be also be configured here. 

  logrotate.conf 文件為常用的參數(shù)設(shè)置默認(rèn)值。每當(dāng) logro-tate 讀取這些參數(shù)的另一個(gè)值時(shí),則會(huì)重置默認(rèn)值??梢赃x擇 daily(每天)、weekly(每周)或 monthly(每月)輪換文件。rotate關(guān)鍵字后面的數(shù)字指定要保留的被輪換日志文件數(shù)量。create 關(guān)鍵字會(huì)使 logrotate 創(chuàng)建一個(gè)新的日志文件,并與新輪換的日志文件具有相同的名稱和屬性。dateext 關(guān)鍵字導(dǎo)致 logrotate 使用日期作為文件擴(kuò)展名。compress 關(guān)鍵字(默認(rèn)文件中被注釋掉)導(dǎo)致日志文件由 gzip 壓縮。include 關(guān)鍵字為具體程序的 logrotate 規(guī)范文件指定標(biāo)準(zhǔn) /etc/logrotate.d 目錄。當(dāng)使用 rpm 或基于 rpm 的實(shí)用程序安裝一個(gè)程序時(shí),rpm 把 logrotate 規(guī)范文件放在該目錄中。

  logrotate.conf 中的***指令集會(huì)處理 /var/log/wtmp 和 /var/log/btmp 日志文件(wtmp 保存登錄記錄,而 btmp 保存失敗的登錄嘗試記錄);可以查看這些使用 who 的文件。missingok 關(guān)鍵字只覆蓋這個(gè)文件的隱含默認(rèn)值 nomissingok,此關(guān)鍵字導(dǎo)致 logrotate 繼續(xù)運(yùn)行,即使日志文件丟失也不會(huì)發(fā)出錯(cuò)誤消息。關(guān)鍵字 monthly 只覆蓋這個(gè)文件的默認(rèn)值 weekly。create 關(guān)鍵字后面緊跟為新文件建立權(quán)限、所有者和組的參數(shù)。***的 rotate則建立應(yīng)保留的輪換日志文件。

  /etc/logrotate.d/httpd 文件是實(shí)用程序 logrotate 規(guī)格文件的一個(gè)例子:

  1. $ cat /etc/logrotate.d/httpd  
  2. /var/log/httpd/*log {  
  3. missingok  
  4. notifempty  
  5. sharedscripts  
  6. delaycompress  
  7. postrotate  
  8. /sbin/service httpd reload > /dev/null 2>/dev/null || true  
  9. endscript  

  這個(gè)文件由 httpd 軟件包安裝腳本安裝,通過(guò) logrotate.conf 中的 include 語(yǔ)句放入 /etc/logrotate.d 中,并使用 /var/log/httpd 中文件名以 log (*log) 結(jié)尾的每個(gè)文件。如果日志文件是空的,notifempty 關(guān)鍵字導(dǎo)致 logrotate 不輪換日志文件,而是重寫空的日志文件。sharedscripts 關(guān)鍵字導(dǎo)致 logrotate 僅執(zhí)行一次 prerotate 和 postrotate 節(jié)的命令,而不是為每個(gè)輪換的日志文件執(zhí)行一次。delaycompress 關(guān)鍵字會(huì)導(dǎo)致 logrotate 延遲一個(gè)周期壓縮。copytruncate 關(guān)鍵字沒(méi)有出現(xiàn)在這個(gè)例子中,它會(huì)導(dǎo)致 logrotate 復(fù)制后立即截?cái)嘣瓉?lái)的日志文件,這個(gè)關(guān)鍵字對(duì)于無(wú)法關(guān)閉并重新打開(kāi)日志文件的程序非常有用,因?yàn)檫@些程序可能會(huì)在原始文件已被移動(dòng)的情況下,繼續(xù)寫入原始文件。在輪換開(kāi)始前,logrotate 實(shí)用工具會(huì)執(zhí)行 prerotate 和 endscript 之間的命令。同樣,輪換完成后,會(huì)執(zhí)行 postrotate 和 endscript 之間的命令。

  logrotate 實(shí)用工具使用很多關(guān)鍵字,其中許多帶有參數(shù),而且有其它作用。詳細(xì)信息請(qǐng)參閱 logrotate 手冊(cè)頁(yè)。#p#

  應(yīng)用工具三:應(yīng)用 rsyslogd 記錄系統(tǒng)消息

  傳統(tǒng)上,UNIX 程序會(huì)發(fā)送日志消息到標(biāo)準(zhǔn)錯(cuò)誤。如果需要更***的日志,則會(huì)把輸出重定向到一個(gè)文件。為了克服上述方法的局限性,4.3BSD 引進(jìn)了目前 Linux 使用的系統(tǒng)日志守護(hù)進(jìn)程(rsyslogd; www.rsyslog.com)。這個(gè)守護(hù)進(jìn)程負(fù)責(zé)監(jiān)聽(tīng)日志消息,并把它們存儲(chǔ)在 /var/log 目錄中。除了提供日志記錄功能,rsyslogd 還允許一臺(tái)機(jī)器作為日志庫(kù)服務(wù)于網(wǎng)絡(luò),并允許其它程序來(lái)處理特定的日志消息。

  /etc/rsyslog.conf 文件存儲(chǔ) rsyslogd 的配置信息。這個(gè)文件中的每一行都包含一個(gè)或多個(gè)由空格分隔的選擇器(selector)和一個(gè)動(dòng)作(action)。選擇器定義消息的來(lái)源和類型,動(dòng)作(action)則指定 rsyslogd 如何處理消息。rsyslog.conf 示例行如下(# 開(kāi)始一個(gè)注釋):

  1. # Log all kernel messages to the console.  
  2. kern.* /dev/console  
  3. # Log all the mail messages in one place.  
  4. mail.* /var/log/maillog  
  5. # Log cron stuff  
  6. cron.* /var/log/cron  
  7. # Everybody gets emergency messages  
  8. *.emerg *  
  9. # Save boot messages also to boot.log  
  10. local7.* /var/log/boot.log 

  選擇器

  選擇器分為設(shè)施和優(yōu)先級(jí)兩部分,并由句點(diǎn)分隔。設(shè)施表示消息的來(lái)源。例如 kern 消息來(lái)自內(nèi)核,mail 消息來(lái)自郵件子系統(tǒng)。

  圖 3 是 rsyslogd 使用的設(shè)施名稱列表以及生成這些消息的系統(tǒng):

  優(yōu)先級(jí)表示消息的嚴(yán)重程度。圖 4 為優(yōu)先級(jí)的名字列表及其所表示的條件,按優(yōu)先級(jí)順序升序列出:

圖 4. 優(yōu)先級(jí)示意

  一個(gè)選擇器由單個(gè)設(shè)施和優(yōu)先級(jí)組成,如 kern.info 會(huì)導(dǎo)致相應(yīng)的動(dòng)作應(yīng)用到來(lái)自該設(shè)施具有該優(yōu)先級(jí)或更高優(yōu)先級(jí)(更迫切)的每條消息。使用 .= 指定單個(gè)優(yōu)先級(jí)事項(xiàng) ; 例如,kern.=info 表示把該動(dòng)作應(yīng)用到具有 info 優(yōu)先級(jí)的內(nèi)核消息。一個(gè)驚嘆號(hào)指定一個(gè)不匹配的優(yōu)先級(jí)。因此 kern.!info 將匹配比 info 優(yōu)先級(jí)低的內(nèi)核消息,kern.!=info 匹配非 info 優(yōu)先級(jí)的內(nèi)核消息。

  一個(gè)由分號(hào)分隔且包含多個(gè)選擇器的行,只要有匹配的選擇器就執(zhí)行該動(dòng)作,該行每個(gè)選擇器都會(huì)約束該匹配,后續(xù)選擇器通常會(huì)收緊該約束。例如,mail.info;mail.!err 選擇器匹配具有 debug、info、notice 或 warning 優(yōu)先級(jí)的郵件子系統(tǒng)消息。

  可以用星號(hào)替換該選擇器的每部分以匹配任何內(nèi)容。該選擇器每部分的 none 關(guān)鍵字表示不可能匹配。*.crit;kern.none 選擇器會(huì)匹配所有關(guān)鍵或更高優(yōu)先級(jí)的消息,來(lái)自內(nèi)核的消息除外。

  動(dòng)作

  動(dòng)作指定 rsyslogd 如何處理一條匹配該選擇器的消息。最簡(jiǎn)單的動(dòng)作是由其絕對(duì)路徑指定的普通文件,rsyslogd 對(duì)這些文件追加消息。指定 /dev/console 將消息發(fā)送到系統(tǒng)控制臺(tái)。如果想硬拷貝一條消息記錄,需要指定一個(gè)代表專用打印機(jī)的設(shè)備文件。在文件名前面加上一個(gè)連字符(–)以防止將每條消息寫入該文件。這樣做可能會(huì)提高性能,但如果系統(tǒng)崩潰可能會(huì)丟失數(shù)據(jù),以至于產(chǎn)生的消息沒(méi)能來(lái)得及寫入到一個(gè)文件中。

  通過(guò)指定一個(gè)或多個(gè)由逗號(hào)分隔的用戶名,可以將重要消息寫入用戶終端。通過(guò)使用一個(gè)星號(hào)可以將非常重要的信息寫入每個(gè)登錄的終端。

  要將消息轉(zhuǎn)發(fā)到遠(yuǎn)程系統(tǒng)上的 rsyslogd,通過(guò)在前面加上一個(gè) @(將消息發(fā)送到 UDP 端口 514)或 @@(將消息發(fā)送到 TCP 端口 514)以指定系統(tǒng)的名字或 IP 地址。***將來(lái)自內(nèi)核的關(guān)鍵信息轉(zhuǎn)發(fā)到另一個(gè)系統(tǒng),因?yàn)檫@些消息通常在系統(tǒng)崩潰之前,可能來(lái)不及保存到本地磁盤上。以下 rsyslog.conf 中的行將關(guān)鍵內(nèi)核消息發(fā)送到 plum:

  

 kern.crit @plum

  在遠(yuǎn)程系統(tǒng)上編輯 /etc/rsyslog.conf,以下兩部分命令行是否運(yùn)行,取決于是否要使用 UDP 或 TCP。不要?jiǎng)h除注釋中的哈希標(biāo)記。編輯這個(gè)文件后,使用 rsyslog.service 來(lái)重新啟動(dòng) rsyslogd 守護(hù)進(jìn)程。

  1. # Provides UDP syslog reception  
  2. #$ModLoad imudp  
  3. #$UDPServerRun 514  
  4.  
  5. # Provides TCP syslog reception  
  6. #$ModLoad imtcp  
  7. #$InputTCPServerRun 514 

#p#

  應(yīng)用工具四:掌握系統(tǒng)報(bào)告

  許多實(shí)用程序可以對(duì)事項(xiàng)進(jìn)行報(bào)告。例如,who、finger、ls、ps 以及其它實(shí)用程序可以生成簡(jiǎn)單的最終用戶報(bào)告。在某些情況下,這些報(bào)告有助于系統(tǒng)管理。本節(jié)介紹的實(shí)用程序可以產(chǎn)生更多的詳細(xì)報(bào)告,可以為系統(tǒng)管理任務(wù)提供更多的幫助。Linux 還有許多其它報(bào)告實(shí)用程序,比如 sysstat 包中的 sar(系統(tǒng)活動(dòng)報(bào)告)、iostat(輸入 / 輸出和 CPU 統(tǒng)計(jì))和 mpstat(處理器統(tǒng)計(jì)),netstat(網(wǎng)絡(luò)報(bào)告,位于 net-tools 包)和 nfsstat(NFS 統(tǒng)計(jì),位于 nfs-utils 包)。

  使用 vmstat 掌握虛擬內(nèi)存統(tǒng)計(jì)信息

  vmstat 實(shí)用程序(虛擬內(nèi)存統(tǒng)計(jì),位于 procps 包)生成包含磁盤和 CPU 活動(dòng)數(shù)據(jù)的虛擬內(nèi)存信息。以下示例顯示了每隔 3 秒的 7 個(gè)迭代(參數(shù) 3 7)的虛擬內(nèi)存統(tǒng)計(jì)信息。***行包括自系統(tǒng)啟動(dòng)以來(lái)的時(shí)間,后續(xù)每行包括自上一行以來(lái)的時(shí)間間隔。

  1. $ vmstat 3 7  
  2. procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----  
  3. r b swpd free buff cache si so bi bo in cs us sy id wa  
  4. 0 2 0 684328 33924 219916 0 0 430 105 1052 134 2 4 86 8  
  5. 0 2 0 654632 34160 248840 0 0 4897 7683 1142 237 0 5 0 95  
  6. 0 3 0 623528 34224 279080 0 0 5056 8237 1094 178 0 4 0 95  
  7. 0 2 0 603176 34576 298936 0 0 3416 141 1161 255 0 4 0 96  
  8. 0 2 0 575912 34792 325616 0 0 4516 7267 1147 231 0 4 0 96  
  9. 1 2 0 549032 35164 351464 0 0 4429 77 1120 210 0 4 0 96  
  10. 0 2 0 523432 35448 376376 0 0 4173 6577 1135 234 0 4 0 95 

  以下列表解釋了由 vmstat 顯示的字段:

  • procs 進(jìn)程信息
  • r 等待中可運(yùn)行的進(jìn)程數(shù)
  • b 阻塞的進(jìn)程數(shù) ( 不間斷睡眠中 )
  • memory內(nèi)存信息(以千字節(jié)為單位)
  • swpd 使用的虛擬內(nèi)存
  • free 空閑內(nèi)存
  • buff 用作緩沖區(qū)的內(nèi)存
  • cache用作高速緩存的內(nèi)存
  • swap系統(tǒng)分頁(yè)活動(dòng)(每秒千字節(jié))
  • si 從磁盤交換到內(nèi)存
  • so 使內(nèi)存換出到磁盤
  • io 系統(tǒng) I/O 活動(dòng)(每秒塊)
  • bi 從塊設(shè)備接收的塊
  • bo 發(fā)送到塊設(shè)備的塊
  • system(單位是每秒)
  • in 中斷(包括時(shí)鐘)
  • cs 上下文開(kāi)關(guān)
  • cpu每個(gè)狀態(tài)所耗費(fèi)的總 CPU 時(shí)間的百分比
  • us 用戶 ( 非內(nèi)核 )
  • sy 系統(tǒng)(內(nèi)核)
  • id 空閑
  • wa 等待 I/O
  • st 從虛擬機(jī)提取(僅在虛擬機(jī)上)

  使用 top 列出使用資源最多的進(jìn)程

  top 實(shí)用程序是 ps 的有益補(bǔ)充。最起碼,top 顯示的系統(tǒng)信息包括使用 CPU 密集的進(jìn)程。 top 實(shí)用程序可以定期自我更新,輸入 q 即可退出。雖然可以使用命令行選項(xiàng),但使用交互式命令往往更有幫助。

  表 1. top 交互式命令

 

  1. $ top  
  2. top - 17:58:53 up 3 days, 4:20, 1 user, load average: 2.16, 1.61, 0.83  
  3. Tasks: 167 total, 5 running, 162 sleeping, 0 stopped, 0 zombie  
  4. Cpu(s): 1.5%us, 0.5%sy, 1.3%ni, 96.0%id, 0.2%wa, 0.6%hi, 0.0%si, 0.0%st  
  5. Mem: 2076092k total, 1990652k used, 85440k free, 18416k buffers  
  6. Swap: 7815580k total, 34908k used, 7780672k free, 1330008k cached  
  7.  
  8. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND  
  9. 31323 zach 25 0 9020 6960 396 R 63 0.3 0:17.58 bzip2  
  10. 31327 zach 18 0 2092 596 492 R 57 0.0 0:00.92 cp  
  11. 31311 root 15 0 0 0 0 S 16 0.0 0:00.38 pdflush  
  12. 6870 zach 27 12 331m 190m 37m R 2 9.4 198:42.98 firefox-bin  
  13. 31303 root 15 0 0 0 0 S 2 0.0 0:00.42 pdflush  
  14. 1 root 15 0 2912 1808 488 S 0 0.1 0:01.55 init 

  總結(jié)

  本文著重介紹企業(yè) Linux 系統(tǒng)運(yùn)維四個(gè)重要應(yīng)用工具的使用和實(shí)戰(zhàn),在下一篇文章里面,將介紹企業(yè) Linux 系統(tǒng)運(yùn)維的重要原則和方法,給企業(yè)管理員提供有益參考。

責(zé)任編輯:黃丹 來(lái)源: developerWorks
相關(guān)推薦

2018-10-30 12:29:24

2021-09-02 11:38:12

Linux運(yùn)維工具

2012-11-12 10:33:33

IBMdw

2018-03-31 23:18:35

2019-03-19 08:41:38

Linux運(yùn)維變更

2012-11-13 10:55:00

Linux系統(tǒng)運(yùn)維

2013-12-06 14:09:22

Linux運(yùn)維工具

2020-09-21 09:50:07

Linux工具命令

2016-04-06 10:02:23

手機(jī)微博運(yùn)維監(jiān)控

2014-09-17 10:34:47

2014-09-17 11:16:42

2025-03-21 07:07:59

2018-11-12 10:10:09

Linux遠(yuǎn)程數(shù)據(jù)工具

2019-09-02 07:53:09

Linuxrsync服務(wù)器

2020-06-03 15:14:10

大數(shù)據(jù)代碼開(kāi)發(fā)

2018-07-23 09:24:08

Linux系統(tǒng)運(yùn)維運(yùn)維工程師

2019-07-12 09:23:54

Linux 系統(tǒng) 運(yùn)維

2010-04-21 12:35:01

Oracle導(dǎo)入

2017-03-22 16:31:30

Linux運(yùn)維自動(dòng)化ansible

2017-03-22 18:30:44

Linux運(yùn)維自動(dòng)化ansible
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)