亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號

Linux中系統(tǒng)整體性能監(jiān)控工具詳細(xì)介紹(2)
2006-09-05   linuxeden.com

范例3:定期采樣(delay [count])

定期采樣數(shù)據(jù)是指每隔delay時間,采樣一次。當(dāng)count 為0時,vmstat 將不停地定期報告信息;否則當(dāng)報告count次后,vmstat 命令停止運行。

第一行的信息如同范例1,是自系統(tǒng)啟動以來的平均信息。從第二行開始,每行的意思是:r和b采樣那一時刻系統(tǒng)運行隊列和等待隊列的情況;而usystem參數(shù)(in,cs)以及CPU參數(shù)(us,sy,id,wa)對應(yīng)的輸出值是系統(tǒng)在前一個delay的情況。

從下面例子可以看出上下文交換的次數(shù)小于中斷的發(fā)生次數(shù)。當(dāng)系統(tǒng)大部分時間是空閑并且中斷大部分是時間中斷時,這種現(xiàn)象極可能發(fā)生。當(dāng)時間中斷發(fā)生時, 因為調(diào)度器沒有什么任務(wù)可調(diào)度,所以很少發(fā)生上下文切換。

[root@localhost ~]# vmstat 2 4
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 24 11032 652 91396 0 0 49 6 15 19 2 1 96 1
0 0 24 11032 652 91396 0 0 0 0 377 464 1 0 99 0
0 0 24 11024 652 91396 0 0 0 0 387 476 1 0 100 0
0 0 24 11024 652 91396 0 0 0 0 323 377 0 0 100 0
[root@localhost ~]#

6. iostat

iostat [-t] [-c] [interval [count]]

參數(shù)的含義如下:

參數(shù) 解釋

T 表示輸出采用的時間

C 表示只顯示CPU的信息

Internal 相鄰的兩次采樣的間隔時間

count 采樣的次數(shù),count只能和delay一起使用

當(dāng)沒有參數(shù)時,iostat則顯示系統(tǒng)啟動以后所有信息的平均值。

與CPU有關(guān)的輸出的含義

參數(shù) 解釋 從/proc/stat獲得

CPU 處理器ID

user 在internal時間段里,用戶態(tài)的CPU時間(%) ,不包含 nice值為負(fù)進(jìn)程 usr/total*100

nice 在internal時間段里,nice值為負(fù)進(jìn)程的CPU時間(%) nice/total*100

sys 在internal時間段里,核心時間(%) (system+irq+softirq)/total*100

iowait 在internal時間段里,硬盤IO等待時間(%) iowait/total*100

idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間 (%) idle/total*100

total_cur=user+system+nice+idle+iowait+irq+softirq
total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq
total=total_cur-total_pre

有interval時,第一行的信息自系統(tǒng)啟動以來的平均信息。從第二行開始,輸出為前一個interval時間段的平均信息。

范例1:

[root@localhost /]# dd if=/dev/zero of=/1.img bs=1024 count=1000000&
[1] 15854
[root@localhost /]# iostat -c 1
Linux 2.6.13 (localhost.localdomain) 2005年12月19日
avg-cpu: %user %nice %sys %iowait %idle
1.94 0.00 0.56 0.75 96.75
avg-cpu: %user %nice %sys %iowait %idle
3.65 0.00 13.87 82.48 0.00
avg-cpu: %user %nice %sys %iowait %idle

7. sar

sar是System Activity Reporter(系統(tǒng)活躍情況報告)的縮寫。顧名思義,sar工具將對系統(tǒng)當(dāng)前的狀態(tài)進(jìn)行采樣,然后通過計算數(shù)據(jù)和比例來表達(dá)系統(tǒng)的當(dāng)前運行狀態(tài)。它的特點是可以連續(xù)對系統(tǒng)采樣,獲得大量的采樣數(shù)據(jù);采樣數(shù)據(jù)和分析的結(jié)果都可以存入文件,所需的負(fù)載很小。這些是檢查歷史數(shù)據(jù)和一些近來的系統(tǒng)事件。sar用于檢查的性能數(shù)據(jù)類似于vmstat, mpstat和 iostat的顯示。 sar的數(shù)據(jù)是一段時間保存的內(nèi)容,因此可以察看過去的信息。 lastcomm可以現(xiàn)在系統(tǒng)最近被執(zhí)行的命令。這些可以用在系統(tǒng)審計中。sa 可以在*BSD和Linux中找到,它給用戶在系統(tǒng)審計中更多的選項來收集信息。

在反饋CPU整體信息方面,sar 反饋的與CPU相關(guān)的信息包括:

(1)多少任務(wù)在運行

(2)CPU使用的情況

(3)CPU收到多少中斷

(4)發(fā)生多少上下文切換

sar的語法如下:

sar [-options] [interval [count]]

其中,internal是兩次采樣的間隔時間;count是指采樣的次數(shù);與CPU相關(guān)的options有:

參數(shù)的含義如下:

參數(shù) 解釋

-c 表示輸出采用的時間

-e hh:mm:ss 表示只顯示CPU的信息

-i {irq |SUM|ALL|XALL} 相鄰的兩次采樣的間隔時間

-P {cpu|ALL}

-q 顯示在采樣的時刻,可運行隊列的任務(wù)的個數(shù),以及系統(tǒng)平均負(fù)載

-u CPU 使用的情況,報告了cpu的用戶態(tài),系統(tǒng)態(tài),等待I/O和空閑時間上的百分比。

-w:每秒上下文交換率

-o:filename 將結(jié)果放在文件里

-f:filename 表示從file文件中取出數(shù)據(jù),如果沒有指定-f file,則從標(biāo)準(zhǔn)數(shù)據(jù)文件

范例1:

首先在后臺運行一個創(chuàng)建1GB文件的任務(wù),然后輸入:“sar -c -q -w 3 2”,表示每3秒采樣一次,采樣兩次,可以看到系統(tǒng)有82個任務(wù),但是在10時12分08秒時有一個任務(wù)在運行,在下一次采樣10時12分11秒時,沒有任務(wù)在運行。

[root@localhost /]# dd if=/dev/zero of=/1.img bs=1024 count=1000000&
[1] 16213
[root@localhost /]# sar -c -q -w -I SUM 3 2
Linux 2.6.13 (localhost.localdomain) 2005年12月19日
10時12分05秒 proc/s
10時12分08秒 0.00
10時12分05秒 cswch/s
10時12分08秒 692.33
10時12分05秒 INTR intr/s
10時12分08秒 sum 895.33
10時12分05秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
10時12分08秒 1 82 0.20 0.08 0.09
10時12分08秒 proc/s
10時12分11秒 0.00
10時12分08秒 cswch/s
10時12分11秒 648.50
10時12分08秒 INTR intr/s
10時12分11秒 sum 461.79
10時12分08秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
10時12分11秒 0 82 0.59 0.16 0.12
Average: proc/s
Average: 0.00
Average: cswch/s
Average: 670.38
Average: INTR intr/s
Average: sum 678.20
Average: runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
Average: 0 82 0.40 0.12 0.10

與CPU有關(guān)的輸出的含義

參數(shù) 解釋 從/proc/stat獲得數(shù)據(jù)

proc/s 在internal時間段里,每秒上下文切換率 processes/total*100

cswch 在internal時間段里,每秒上下文切換率 ctxt/total*100

intr/s 在internal時間段里,每秒CPU接收的中斷的次數(shù) idle/total*100

從/proc/loadavg獲得數(shù)據(jù)

runq-sz 采樣時,運行隊列中任務(wù)的個數(shù),不包括vmstat 進(jìn)程。 procs_running-1

plist-sz 采樣時,系統(tǒng)中活躍的任務(wù)的個數(shù) nr_threads

ldavg-1 采樣的前一秒鐘系統(tǒng)的負(fù)載(%) lavg_1

ldavg-5 采樣的5秒鐘系統(tǒng)的負(fù)載(%) lavg_5

ldavg-15 采樣的前15秒鐘系統(tǒng)的負(fù)載(%) lavg_15

下面輸入命令“sar 3 2”,表示每隔3秒顯示CPU的狀態(tài),共顯示2次。此時創(chuàng)建1GB文件的任務(wù)還在后臺進(jìn)行。

[root@localhost /]# sar 3 2
Linux 2.6.13 (localhost.localdomain) 2005年12月19日
10時12分37秒 CPU %user %nice %system %iowait %idle
10時12分40秒 all 2.91 0.00 14.18 82.91 0.00
10時12分43秒 all 2.66 0.00 14.95 82.39 0.00
Average: all 2.78 0.00 14.58 82.64 0.00
[root@localhost /]#

與CPU有關(guān)的輸出的含義

參數(shù) 解釋 從/proc/stat獲得數(shù)據(jù)

CPU 處理器ID

user 在internal時間段里,用戶態(tài)的CPU時間(%) ,不包含 nice值為負(fù)進(jìn)程 usr/total*100

nice 在internal時間段里,nice值為負(fù)進(jìn)程的CPU時間(%) nice/total*100

sys 在internal時間段里,核心時間(%) (system+irq+softirq)/total*100

iowait 在internal時間段里,硬盤IO等待時間(%) iowait/total*100

idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間 (%) irq/total*100

輸入命令“sar”,當(dāng)不帶任何參數(shù)時,表示每一秒采樣一次,每次顯示從系統(tǒng)到該采樣時系統(tǒng)的平均信息。從Fig.8看出在10時12分43秒,系統(tǒng)idle應(yīng)該為0,而Fig.9

[root@localhost /]# sar
Linux 2.6.13 (localhost.localdomain) 2005年12月19日
00時00分01秒 CPU %user %nice %system %iowait %idle
00時10分01秒 all 0.11 0.00 0.16 0.00 99.73
00時20分01秒 all 0.13 0.00 0.15 0.00 99.72
.
.
.
08時10分01秒 all 0.11 0.00 0.14 0.00 99.75
08時20分01秒 all 0.13 0.00 0.15 0.00 99.72
08時30分01秒 all 0.13 0.00 0.16 0.00 99.71
08時40分01秒 all 3.96 0.00 0.57 0.34 95.12
08時50分01秒 all 7.42 0.00 0.77 0.74 91.07
09時00分01秒 all 4.93 0.00 1.97 8.14 84.95
09時10分01秒 all 4.81 0.00 0.69 0.29 94.21
09時20分01秒 all 3.09 0.00 0.93 1.72 94.25
09時30分01秒 all 7.59 0.00 1.59 1.27 89.55
09時40分01秒 all 2.27 0.00 0.74 0.32 96.67
09時50分01秒 all 4.81 0.00 0.81 0.07 94.31
10時00分02秒 all 1.84 0.00 2.17 7.78 88.21
10時10分01秒 all 0.63 0.00 0.24 0.20 98.93
10時20分02秒 all 1.70 0.00 1.85 7.95 88.50
10時30分01秒 all 0.50 0.00 0.21 0.21 99.08
Average: all 0.81 0.00 0.33 0.49 98.37
[root@localhost /]#
total_cur=user+system+nice+idle+iowait+irq+softirq
total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq
total=total_cur-total_pre

上表中的所有值可取到兩位小數(shù)點。

范例2:

[work@builder linux-2.6.14]$ sar –P ALL 2 3
Linux 2.6.9-5.31AXsmp (builder.redflag-linux.com) 12/28/2005
08:28:45 AM CPU %user %nice %system %iowait %idle
08:28:47 AM all 0.00 0.00 0.00 0.00 100.00
08:28:47 AM 0 0.00 0.00 0.00 0.00 100.00
08:28:47 AM 1 0.00 0.00 0.00 0.00 100.00
08:28:47 AM 2 0.00 0.00 0.00 0.00 100.00
08:28:47 AM 3 0.00 0.00 0.00 0.00 100.00

08:28:47 AM CPU %user %nice %system %iowait %idle
08:28:49 AM all 0.00 0.00 0.00 0.00 100.00
08:28:49 AM 0 0.00 0.00 0.00 0.00 100.00
08:28:49 AM 1 0.00 0.00 0.00 0.00 100.00
08:28:49 AM 2 0.00 0.00 0.00 0.00 100.00
08:28:49 AM 3 0.00 0.00 0.00 0.00 100.00

08:28:49 AM CPU %user %nice %system %iowait %idle
08:28:51 AM all 0.00 0.00 0.12 0.25 99.63
08:28:51 AM 0 0.00 0.00 0.00 0.00 100.00
08:28:51 AM 1 0.00 0.00 0.00 0.50 99.50
08:28:51 AM 2 0.00 0.00 0.00 0.00 100.00
08:28:51 AM 3 0.00 0.00 0.00 0.00 100.00

Average: CPU %user %nice %system %iowait %idle
Average: all 0.00 0.00 0.04 0.08 99.88
Average: 0 0.00 0.00 0.00 0.00 100.00
Average: 1 0.00 0.00 0.00 0.17 99.83
Average: 2 0.00 0.00 0.00 0.00 100.00
Average: 3 0.00 0.00 0.00 0.00 100.00
Fig.1.

8. top

top命令提供了實時的對系統(tǒng)處理器的狀態(tài)監(jiān)視,即可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài)。如果前臺執(zhí)行該命令,它將獨占前臺,直到用戶終止該程序為止,但是該命令的很多特性都可以通過交互式命令或者在個人定制文件中進(jìn)行設(shè)定。

下面是該命令的語法格式:

top [-] [d delay] [options]

一些參數(shù)的含義如下:

參數(shù) 解釋

d delay 相鄰的兩次采樣的間隔時間

q 該選項將使top沒有任何延遲的進(jìn)行刷新。如果調(diào)用程序有超級用戶權(quán)限,那么top將以盡可能高的優(yōu)先級運行

-l 不顯示空閑進(jìn)程,默認(rèn)時,top顯示空閑進(jìn)程

-S 將系統(tǒng)進(jìn)程信息也顯示于屏幕,默認(rèn)時,不顯示。

與cPU有關(guān)的輸出的含義

參數(shù) 解釋

CPU信息 從/proc/stat獲得信息

us 在internal時間段里,用戶態(tài)的CPU時間(%),不包含nice值為負(fù)的任務(wù)占用的CPU的時間

usr/total*100

ni 在internal時間段里,nice值為負(fù)的任務(wù)的用戶態(tài)的Niced進(jìn)程的CPU時間(%) nice/total*100

sy 在internal時間段里,核心態(tài)的CPU時間(%) system/total*100

id 在internal時間段里,cpu空閑的時間,不包括等待i/o的時間(%) idle/total*100

wa 在internal時間段里,等待i/o的時間(%) iowait/total*100

hi 在internal時間段里,硬中斷時間(%) irq/total*100

si 在internal時間段里,軟中斷時間(%) softirq/total*100

任務(wù)

total 采樣時,系統(tǒng)全部進(jìn)程的個數(shù),包括正在運行的top進(jìn)程,不包括線程。 =running+sleeping+stopped+zombie

running 采樣時,運行隊列的進(jìn)程的個數(shù),但不包含top這個進(jìn)程 通過判斷/proc/pid/status中stat的值。

sleeping 采樣時,可中斷和不可中斷狀態(tài)的進(jìn)程的個數(shù)

stopped 采樣時,停止?fàn)顟B(tài)的進(jìn)程的個數(shù)

zombie 采樣時,僵尸狀態(tài)的進(jìn)程的個數(shù)

運行中的參數(shù)的含義

參數(shù) 解釋

q 退出程序

r 重新安排一個進(jìn)程的優(yōu)先級別。系統(tǒng)提示用戶輸入需要改變的進(jìn)程PID

S 切換到累計模式

L 切換顯示平均負(fù)載和啟動時間信息

T 切換顯示進(jìn)程和CPU狀態(tài)信息

M 切換顯示內(nèi)存信息

s 改變兩次刷新之間的延遲時間。系統(tǒng)將提示用戶輸入新的時間,單位為s。如果有小數(shù),就換算成m s。輸入0值則系統(tǒng)將不斷刷新,默認(rèn)值是5 s。需要注意的是如果設(shè)置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統(tǒng)負(fù)載也會大大增加 

范例1:查看 鍵入top命令查看系統(tǒng)狀況

>top
top - 16:52:17 up 3 min, 1 user, load average: 0.10, 0.27, 0.14
Tasks: 55 total, 1 running, 54 sleeping, 0 stopped, 0 zombie
top - 16:52:31 up 4 min, 1 user, load average: 0.08, 0.26, 0.13
Tasks: 55 total, 1 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 0.3% sy, 0.0% ni, 99.0% id, 0.0% wa, 0.3% hi, 0.0% si
Mem: 251924k total, 238168k used, 13756k free, 4420k buffers
Swap: 0k total, 0k used, 0k free, 165200k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4171 root 15 0 48404 12m 2220 S 0.7 5.0 0:01.36 X
4404 root 15 0 66540 16m 13m S 0.3 6.9 0:02.31 kdeinit
1 root 16 0 1772 544 464 S 0.0 0.2 0:00.61 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
3 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 events/0
4 root 5 -10 0 0 0 S 0.0 0.0 0:00.02 khelper
5 root 15 -10 0 0 0 S 0.0 0.0 0:00.00 kacpid
19 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
30 root 15 0 0 0 0 S 0.0 0.0 0:00.01 pdflush
32 root 14 -10 0 0 0 S 0.0 0.0 0:00.00 aio/0
20 root 15 0 0 0 0 S 0.0 0.0 0:00.00 khubd
31 root 15 0 0 0 0 S 0.0 0.0 0:00.01 kswapd0
618 root 25 0 0 0 0 S 0.0 0.0 0:00.00 kseriod

第一行的項目依次為當(dāng)前時間、系統(tǒng)啟動時間、當(dāng)前系統(tǒng)登錄用戶數(shù)目、平均負(fù)載。

第二行為進(jìn)程情況,依次為進(jìn)程總數(shù)、休眠進(jìn)程數(shù)、運行進(jìn)程數(shù)、僵死進(jìn)程數(shù)、終止進(jìn)程數(shù)。

第三行為CPU狀態(tài),依次為用戶占用、系統(tǒng)占用、優(yōu)先任務(wù)占用、閑置任務(wù)占用。

第四行為內(nèi)存狀態(tài),依次為平均可用內(nèi)存、已用內(nèi)存、空閑內(nèi)存、共享內(nèi)存、緩存使用內(nèi)存。

第五行為交換狀態(tài),依次為平均可用交換容量、已用容量、閑置容量、交換高速緩存容量。

然后下面就是和ps相仿的各進(jìn)程情況列表了。

總的來說,top命令的功能強于ps,但需要長久占用前臺,所以用戶應(yīng)該根據(jù)自己的情況來使用這個命令。

9. oprofile

Oprofile這個性能監(jiān)視工具是利用處理器上所包含的專用的性能監(jiān)視硬件(若沒有性能監(jiān)視硬件則使用一個基于計時器的代用品)來收集與性能相關(guān)的數(shù)據(jù)樣品(samples)。它獲得關(guān)于內(nèi)核以及系統(tǒng)上的可執(zhí)行文件的信息,例如內(nèi)存是何時被引用的;L2緩存請求的數(shù)量;收到的硬件中斷數(shù)量等。

下表提供了對 oprofile 軟件包中包括的工具的總覽。

命令 描述

opcontrol 配置要收集的數(shù)據(jù)

op_help 顯示系統(tǒng)處理器的可用事件以及每個事件的簡單描述

opreport 獲得有用的profile數(shù)據(jù)

Opannotate 如果應(yīng)用程序使用調(diào)試符號編譯了,創(chuàng)建帶注解

oprofiled 作為守護(hù)進(jìn)程來運行,定期把樣品數(shù)據(jù)寫入磁盤

Oparchive 收集可執(zhí)行文件信息和調(diào)試信息,將采樣文件歸檔

op_import 把樣品數(shù)據(jù)庫文件從異類二進(jìn)制格式轉(zhuǎn)換成系統(tǒng)的本地原始格式。只有在分析不同體系的樣品數(shù)據(jù)庫時才使用該選項。

(1)opcontrol

在運行 OProfile 之前,必須用opcontrol配置監(jiān)視環(huán)境。在 opcontrol 命令被執(zhí)行時,設(shè)置選項就會被保存到 /root/.oprofile/daemonrc 文件中。

命令格式

opcontrol [--vmlinux] [--start] [--stop] [--dump] [--shutdown] [--save=filename]

參數(shù)解釋

參數(shù) 描述

vmlinux 用來配置是否監(jiān)視內(nèi)核。要監(jiān)視內(nèi)核,以根用戶身份執(zhí)行以下命令:

>opcontrol --vmlinux=/usr/src/linux-2.6.13/vmlinux

要配置 OProfile 不監(jiān)視內(nèi)核,以根用戶身份執(zhí)行以下命令:

>opcontrol --no-vmlinux

這個命令還會載入 oprofile 內(nèi)核模塊(如果還沒有被載入),并創(chuàng)建 /dev/oprofile/ 目錄(如果不存在)。

start 開始監(jiān)視系統(tǒng)

要使用 OProfile 來開始監(jiān)視系統(tǒng),以根用戶身份執(zhí)行以下命令:

>opcontrol --start
Reading module info.
Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.

/root/.oprofile/daemonrc 中的設(shè)置被使用。OProfile 守護(hù)進(jìn)程 oprofiled 被啟動;它定期把樣品數(shù)據(jù)寫入 /var/lib/oprofile/samples/ 目錄。該守護(hù)進(jìn)程的日志位于 /var/lib/oprofile/oprofiled.log。如果 OProfile 使用不同的配置選項被重新啟動,以前會話中的樣品文件就會被自動備份到 /var/lib/oprofile/samples/session-N 目錄中,這里的 N 是前一次備份會話數(shù)量再加1。

stop 停止監(jiān)視

Shutdown 要停止建檔器,以根用戶身份執(zhí)行以下命令:

>opcontrol –shutdown

Save save 保存數(shù)據(jù)

要保存當(dāng)前的抽樣文件集合,執(zhí)行以下命令,把 替換成當(dāng)前會話中的獨特描述性名稱。 opcontrol --save= 目錄 /var/lib/oprofile/samples/name/ 被創(chuàng)建,當(dāng)前的抽樣文件被復(fù)制到其中。

Dump dump OProfile 守護(hù)進(jìn)程 oprofiled 定期收集樣品,并把它們寫入 /var/lib/oprofile/samples/ 目錄。在讀取數(shù)據(jù)之前,請以根用戶身份執(zhí)行以下命令來確定所有數(shù)據(jù)都被寫入這個目錄中了。

熱詞搜索:

上一篇:Linux中系統(tǒng)整體性能監(jiān)控工具詳細(xì)介紹(1)
下一篇:日記:大戰(zhàn)10個回合 干掉成堆的木馬和流氓軟件

分享到: 收藏