Red Hat Enterprise Linux 的特定資訊
时间:2006-01-15 来源:xwq_007
Red Hat Enterprise Linux 的特定資訊
作業系統的虛擬記憶體對分頁索求無度。由於這複雜性與生俱來,所以在 Red Hat Enterprise Linux 中監控記憶體相關的資源,會讓人混淆。因此,我們建議您從一些簡單直接的工具開始,參照本節的資訊做一遍。
free 指令會顯示一張簡明(有時過於陽春)的報告,讓您對記憶體與置換的使用率有個初步的了解。以下是個範例:
4.6. Red Hat Enterprise Linux 的特定資訊
作業系統的虛擬記憶體對分頁索求無度。由於這複雜性與生俱來,所以在 Red Hat Enterprise Linux 中監控記憶體相關的資源,會讓人混淆。因此,我們建議您從一些簡單直接的工具開始,參照本節的資訊做一遍。
free 指令會顯示一張簡明(有時過於陽春)的報告,讓您對記憶體與置換的使用率有個初步的了解。以下是個範例:
total used free shared buffers cached
Mem: 1288720 361448 927272 0 27844 187632
-/+ buffers/cache: 145972 1142748
Swap: 522104 0 522104
我們可以看到,這系統有 1.2 GB 的記憶體,實際使用的只有 350 MB。有這麼多記憶體閒置不用,您可以預期 500 MB 的置換空間根本沒派上用場。
請跟這個例子比較看看:
total used free shared buffers cached
Mem: 255088 246604 8484 0 6492 111320
-/+ buffers/cache: 128792 126296
Swap: 530136 111308 418828
這系統的記憶體為 256 MB,大部分都在使用中,只剩下 8 MB 的空間可用;而 512 MB 的置換空間中,有 100 MB 正在使用中。雖然這系統的記憶體少於之前的系統,但是不是因此而造成效能問題,那還得進一步的研究。
雖然 vmstat 的結果看起來比 free 神祕,但它顯示了更多記憶體使用率的資訊。底下是 vmstat 1 10 的執行結果:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 111304 9728 7036 107204 0 0 6 10 120 24 10 2 89
2 0 0 111304 9728 7036 107204 0 0 0 0 526 1653 96 4 0
1 0 0 111304 9616 7036 107204 0 0 0 0 552 2219 94 5 1
1 0 0 111304 9616 7036 107204 0 0 0 0 624 699 98 2 0
2 0 0 111304 9616 7052 107204 0 0 0 48 603 1466 95 5 0
3 0 0 111304 9620 7052 107204 0 0 0 0 768 932 90 4 6
3 0 0 111304 9440 7076 107360 92 0 244 0 820 1230 85 9 6
2 0 0 111304 9276 7076 107368 0 0 0 0 832 1060 87 6 7
3 0 0 111304 9624 7092 107372 0 0 16 0 813 1655 93 5 2
2 0 2 111304 9624 7108 107372 0 0 0 972 1189 1165 68 9 23
根據這十秒間的採樣數據,可用記憶體(free 欄位)稍有變動,與置換相關的 I/O(si 與 so 欄位)並不多,所以整體來說,這部電腦運作順暢。不過,以目前的記憶體使用率,它還能支援多少的額外工作,那就值得懷疑了。
當研究記憶體相關的問題時,了解 Red Hat Enterprise Linux 的虛擬記憶體子系統是如何使用系統記憶體,是絕對必要的工作。sar 指令可以用更深入的方式,檢視系統效能。
用 sar -r 指令,我們可以更進一步檢視記憶體與置換空間的使用率:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/22/2003
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600
…
08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
kbmemfree 與 kbmemused 欄位分別顯示記憶體的未使用與已使用空間,後面跟著的是已使用空間的百分比(%memused 欄位)。kbbuffers 與 kbcached 欄位分別顯示緩衝區與系統全域的資料快取量,單位為 KB。
使用 2.4 Linux 核心的系統(例如 Red Hat Enterprise Linux),kbmemshrd 欄位一律為零。
以上報表的每一行都為了列印方便而被裁切。底下是之前未顯示的部份,我們在最左邊加上了時間標頭,以方便閱讀:
12:00:01 AM kbswpfree kbswpused %swpused
12:10:00 AM 522104 0 0.00
12:20:00 AM 522104 0 0.00
…
08:40:00 PM 522104 0 0.00
Average: 522104 0 0.00
以置換空間的使用率來說,kbswpfree 與 kbswpused 欄位分別顯示未使用與已使用的置換空間,單位為 KB;其後的 %swpused 欄位以百分比顯示已使用的置換空間。
要更進一步知道置換空間的執行資訊,請使用 sar -W 指令。以下是執行範例:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pswpin/s pswpout/s
12:10:01 AM 0.15 2.56
12:20:00 AM 0.00 0.00
…
03:30:01 PM 0.42 2.56
Average: 0.11 0.37
從這表上我們可以發現,平均來說,寫入置換空間的分頁(pswpin/s)只有讀取(pswpout/s)的三分之一。
要更進一步了解分頁的使用狀況,請使用 sar -B 選項:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pgpgin/s pgpgout/s activepg inadtypg inaclnpg inatarpg
12:10:00 AM 0.03 8.61 195393 20654 30352 49279
12:20:00 AM 0.01 7.51 195385 20655 30336 49275
…
08:40:00 PM 0.00 7.79 71236 1371 6760 15873
Average: 201.54 201.54 169367 18999 35146 44702
從這張表,我們可以知道每秒有多少分頁從磁碟讀入(pgpgin/s),又有多少分頁從記憶體寫進磁碟(pgpgout/s)。這些數據就像晴雨計一樣,顯示整體的虛擬記憶體活動。
然而,您可以看看其他欄位,以獲取更多資訊。Red Hat Enterprise Linux 核心把所有的分頁標示為作用中(active)與非作用中(inactive)。正如其名稱所暗示的,前者是正在使用中的分頁(例如程序或緩衝區使用的分頁);而後者則正好相反。這範例顯示正在運作中的分頁(activepg)平均為 660 MB[1]。
剩下的欄位都跟非作用中的分頁有關 — 不管是因為什麼理由,這種分頁最近都沒有被使用。inadtypg 欄位指出有多少非作用的分頁已經被標示為「骯髒的(dirty)」(被修改過的),需要被寫回磁碟中。另一方面,inaclnpg 欄位指的則是「乾淨的(clean)」為作用中分頁,不需要被寫回磁碟中。
inatarpg 欄位則是非作用清單的所需大小。這個值是由 Linux 核心所計算,讓非作用的清單能保持一定的大小,作為分頁替換用的空間。
如果要更深入了解分頁的狀態(尤其是分頁的改變狀態),請使用 sar -R 指令。底下是範例報表:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM frmpg/s shmpg/s bufpg/s campg/s
12:10:00 AM -0.10 0.00 0.12 -0.07
12:20:00 AM 0.02 0.00 0.19 -0.07
…
08:50:01 PM -3.19 0.00 0.46 0.81
Average: 0.01 0.00 -0.00 -0.00
這份 sar 報表的數據非常獨特,因為有正有負,也可能為零。當這值為正,表示此類分頁的變化率處於增加的狀態;如果為負,表示變化率正在減少。如果這個值為零,那表示這類分頁並不增加,也不減少。
在這例子中,最後的取樣顯示大約每秒增加三個未使用分頁(frmpg/s);每秒幾乎增加一個分頁快取(campg/s)。而緩衝區所使用的分頁(bufpg/s)大約是每兩秒增加一個;共享記憶體分頁(shmpg/s)則沒有任何變化。
作業系統的虛擬記憶體對分頁索求無度。由於這複雜性與生俱來,所以在 Red Hat Enterprise Linux 中監控記憶體相關的資源,會讓人混淆。因此,我們建議您從一些簡單直接的工具開始,參照本節的資訊做一遍。
free 指令會顯示一張簡明(有時過於陽春)的報告,讓您對記憶體與置換的使用率有個初步的了解。以下是個範例:
4.6. Red Hat Enterprise Linux 的特定資訊
作業系統的虛擬記憶體對分頁索求無度。由於這複雜性與生俱來,所以在 Red Hat Enterprise Linux 中監控記憶體相關的資源,會讓人混淆。因此,我們建議您從一些簡單直接的工具開始,參照本節的資訊做一遍。
free 指令會顯示一張簡明(有時過於陽春)的報告,讓您對記憶體與置換的使用率有個初步的了解。以下是個範例:
total used free shared buffers cached
Mem: 1288720 361448 927272 0 27844 187632
-/+ buffers/cache: 145972 1142748
Swap: 522104 0 522104
我們可以看到,這系統有 1.2 GB 的記憶體,實際使用的只有 350 MB。有這麼多記憶體閒置不用,您可以預期 500 MB 的置換空間根本沒派上用場。
請跟這個例子比較看看:
total used free shared buffers cached
Mem: 255088 246604 8484 0 6492 111320
-/+ buffers/cache: 128792 126296
Swap: 530136 111308 418828
這系統的記憶體為 256 MB,大部分都在使用中,只剩下 8 MB 的空間可用;而 512 MB 的置換空間中,有 100 MB 正在使用中。雖然這系統的記憶體少於之前的系統,但是不是因此而造成效能問題,那還得進一步的研究。
雖然 vmstat 的結果看起來比 free 神祕,但它顯示了更多記憶體使用率的資訊。底下是 vmstat 1 10 的執行結果:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 111304 9728 7036 107204 0 0 6 10 120 24 10 2 89
2 0 0 111304 9728 7036 107204 0 0 0 0 526 1653 96 4 0
1 0 0 111304 9616 7036 107204 0 0 0 0 552 2219 94 5 1
1 0 0 111304 9616 7036 107204 0 0 0 0 624 699 98 2 0
2 0 0 111304 9616 7052 107204 0 0 0 48 603 1466 95 5 0
3 0 0 111304 9620 7052 107204 0 0 0 0 768 932 90 4 6
3 0 0 111304 9440 7076 107360 92 0 244 0 820 1230 85 9 6
2 0 0 111304 9276 7076 107368 0 0 0 0 832 1060 87 6 7
3 0 0 111304 9624 7092 107372 0 0 16 0 813 1655 93 5 2
2 0 2 111304 9624 7108 107372 0 0 0 972 1189 1165 68 9 23
根據這十秒間的採樣數據,可用記憶體(free 欄位)稍有變動,與置換相關的 I/O(si 與 so 欄位)並不多,所以整體來說,這部電腦運作順暢。不過,以目前的記憶體使用率,它還能支援多少的額外工作,那就值得懷疑了。
當研究記憶體相關的問題時,了解 Red Hat Enterprise Linux 的虛擬記憶體子系統是如何使用系統記憶體,是絕對必要的工作。sar 指令可以用更深入的方式,檢視系統效能。
用 sar -r 指令,我們可以更進一步檢視記憶體與置換空間的使用率:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/22/2003
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600
…
08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
kbmemfree 與 kbmemused 欄位分別顯示記憶體的未使用與已使用空間,後面跟著的是已使用空間的百分比(%memused 欄位)。kbbuffers 與 kbcached 欄位分別顯示緩衝區與系統全域的資料快取量,單位為 KB。
使用 2.4 Linux 核心的系統(例如 Red Hat Enterprise Linux),kbmemshrd 欄位一律為零。
以上報表的每一行都為了列印方便而被裁切。底下是之前未顯示的部份,我們在最左邊加上了時間標頭,以方便閱讀:
12:00:01 AM kbswpfree kbswpused %swpused
12:10:00 AM 522104 0 0.00
12:20:00 AM 522104 0 0.00
…
08:40:00 PM 522104 0 0.00
Average: 522104 0 0.00
以置換空間的使用率來說,kbswpfree 與 kbswpused 欄位分別顯示未使用與已使用的置換空間,單位為 KB;其後的 %swpused 欄位以百分比顯示已使用的置換空間。
要更進一步知道置換空間的執行資訊,請使用 sar -W 指令。以下是執行範例:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pswpin/s pswpout/s
12:10:01 AM 0.15 2.56
12:20:00 AM 0.00 0.00
…
03:30:01 PM 0.42 2.56
Average: 0.11 0.37
從這表上我們可以發現,平均來說,寫入置換空間的分頁(pswpin/s)只有讀取(pswpout/s)的三分之一。
要更進一步了解分頁的使用狀況,請使用 sar -B 選項:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pgpgin/s pgpgout/s activepg inadtypg inaclnpg inatarpg
12:10:00 AM 0.03 8.61 195393 20654 30352 49279
12:20:00 AM 0.01 7.51 195385 20655 30336 49275
…
08:40:00 PM 0.00 7.79 71236 1371 6760 15873
Average: 201.54 201.54 169367 18999 35146 44702
從這張表,我們可以知道每秒有多少分頁從磁碟讀入(pgpgin/s),又有多少分頁從記憶體寫進磁碟(pgpgout/s)。這些數據就像晴雨計一樣,顯示整體的虛擬記憶體活動。
然而,您可以看看其他欄位,以獲取更多資訊。Red Hat Enterprise Linux 核心把所有的分頁標示為作用中(active)與非作用中(inactive)。正如其名稱所暗示的,前者是正在使用中的分頁(例如程序或緩衝區使用的分頁);而後者則正好相反。這範例顯示正在運作中的分頁(activepg)平均為 660 MB[1]。
剩下的欄位都跟非作用中的分頁有關 — 不管是因為什麼理由,這種分頁最近都沒有被使用。inadtypg 欄位指出有多少非作用的分頁已經被標示為「骯髒的(dirty)」(被修改過的),需要被寫回磁碟中。另一方面,inaclnpg 欄位指的則是「乾淨的(clean)」為作用中分頁,不需要被寫回磁碟中。
inatarpg 欄位則是非作用清單的所需大小。這個值是由 Linux 核心所計算,讓非作用的清單能保持一定的大小,作為分頁替換用的空間。
如果要更深入了解分頁的狀態(尤其是分頁的改變狀態),請使用 sar -R 指令。底下是範例報表:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM frmpg/s shmpg/s bufpg/s campg/s
12:10:00 AM -0.10 0.00 0.12 -0.07
12:20:00 AM 0.02 0.00 0.19 -0.07
…
08:50:01 PM -3.19 0.00 0.46 0.81
Average: 0.01 0.00 -0.00 -0.00
這份 sar 報表的數據非常獨特,因為有正有負,也可能為零。當這值為正,表示此類分頁的變化率處於增加的狀態;如果為負,表示變化率正在減少。如果這個值為零,那表示這類分頁並不增加,也不減少。
在這例子中,最後的取樣顯示大約每秒增加三個未使用分頁(frmpg/s);每秒幾乎增加一個分頁快取(campg/s)。而緩衝區所使用的分頁(bufpg/s)大約是每兩秒增加一個;共享記憶體分頁(shmpg/s)則沒有任何變化。
相关阅读 更多 +
排行榜 更多 +