Solaris效能檢測(prstat)

pentium發表於2009-05-17

prstat:系統程式監控
下面將深入探討 Solaris 工具 prstat(1),幫助瞭解系統效用的全面實用工具
prstat – 全面的實用工具

Solaris 中最重要、使用最廣的實用工具是 prstat(參見 prstat(1))。prstat 可以快速回答以下問題:

*系統佔用了多少 CPU 和記憶體?
*系統效用了哪些程式(或使用者、 zone 、專案、任務)?
*系統怎樣使用程式/執行緒(使用者繫結,I/O 繫結)?

在最簡單的形式中,prstat (即 prstat 2)將檢測所有程式並根據 CPU 使用率報告資料。
程式的順序根據當前的 CPU 使用率從高(最多)到低(最少)排列(% - 100% 表示所有系統 CPU 都完全利用)。對於列表中的每個程式,將列印以下資訊:

* PID:程式的程式 ID。
*USERNAME:真實使用者(登入)名稱或真實使用者 ID。
*SIZE:程式的總虛擬記憶體大小,以 K、M 或 G 為單位。
*RSS:程式的駐留集大小 (RSS),以 K、M 或 G 為單位。
*STATE:程式的狀態 (cpuN/sleep/wait/run/zombie/stop)。
*PRI:程式的優先順序。數字更大表示優先順序更高。
*NICE:優先順序計算中使用的 nice 值。只有特定排程類中的程式才有 nice 值。
*TIME:程式的累計執行時間。
*CPU:程式使用的當前 CPU 時間的百分比。如果在非全域性域中執行並且池裝置是活動的,百分比將是 zone 繫結的池所使用的處理器集合中處理器的百分比。
*PROCESS:程式的名稱(執行檔案的名稱)。
*NLWP:程式中 lwps 的數量。

prstat 的 引數是取樣/重新整理的時間間隔(以秒為單位)。

http://blog.chinaunix.net/u2/60332/showart_1274828.html

solaris檢視實體記憶體的佔用情況To determine the physical RAM size, enter the following command:
# /usr/sbin/prtconf | grep "Memory size"
To determine the size of the configured swap space, enter the following command:
# /usr/sbin/swap -s
To determine the amount of disk space available in the /tmp directory, enter the following command:
# df -k /tmp
# df -h /tmp (on Solaris 10)


prstat -a
vmstat 5 5
CPU: To see details about the CPUs, 
you can use the -v (verbose) option: >
psrinfo -v
There are three major flags that you can use with sar :
sar -u
Shows CPU activity
sar -w
Shows swapping activity
sar -b
Shows buffer activity
The first represents the time interval between samples and
the second represents the number of samples to take. For example:
sar -u 10 5
一個分析記憶體佔用很好的文章:

[@more@]

CPUCPU的硬體效能的幾個重要指標:
1. 核數
一個CPU內的處理器數量,一個雙核的CPU效能比兩個單核的CPU更佳,因為雙核CPU在內部就完成了協同處理。目前SUN公司已經生產出8核的CPU,並應用在UltraSparc T1伺服器上
2. 執行頻率
頻率越高意味著處理器的運算速度越快
3. 快取大小
由於處理器的執行速度越來越快,對從記憶體中讀取資料的速度需求也越來越高。然而記憶體速度的提升速度卻很緩慢,而能高速讀寫資料的記憶體價格又異常高昂,不能大量採用。從效能價格比的角度出發,處理器設計生產公司採用了一種折中方案,就是用少量的高速記憶體和大量的低速記憶體結合使用,共同為處理器提供資料,達到了效能和成本的最最佳化配置。
處於CPU和記憶體之間的那些高速記憶體專門用來做臨時資料存放,因此被稱為緩衝儲存器,簡稱“快取”。最初快取只有一級,隨著處理器速度的提升,一級快取已滿足不了需求,於是就新增了二級快取。二級快取速度比一級快取慢,但容量更大,用來做一級快取和記憶體之間的資料臨時存放。目前伺服器市場的處理器已經新增了三級快取,容量更大,但速度比二級快取慢(仍然比記憶體快許多),
快取使CPU處理器的執行效率得到了大幅度的提升,這個區域中存放的都是CPU頻繁要使用的資料,所以快取越大處理器效率就越高,同時由於快取的物理結構比記憶體複雜很多,所以其成本也很高。
4. 執行緒數
在處理器到記憶體中讀取資料時,由於處理器處理速度很快,如果每次運算都要等到讀取記憶體速度完成後再開始,會導致大部分的CPU時間處在空閒狀態,這就是最早的單執行緒操作。而多執行緒操作則不等處理器處理指令完畢,就預先到記憶體中讀取速度並快取,這將充分利用CPU的空閒時間,最大化的進行指令的處理。目前伺服器市場的主流CPU都能支援2執行緒甚至4執行緒操作。
檢視CPU數量和主頻等資訊,可在
[url=javascript:;]shell[/url]
下用prsinfo或prtdiag命令;也可在PROM的OK提示符下用banner或show-post-results(這個命令和shell下的prtdiag命令的輸出類似,可看CPU記憶體等資訊)
# psrinfo -v
虛擬處理器 0 在下列時間的狀態:03/28/2007 15:14:52
自 03/28/2007 08:05:57 開始已在執行。
i386 處理器以 2000 MHz 執行,
而且有 i387 compatible 浮點數處理器
# prtdiag -v
系統配置: Sun Microsystems sun4us Fujitsu PRIMEPOWER250 1x SPARC64 V
系統時脈頻率:220 MHz
記憶體大小:2048 兆位元組
========================= CPUs =========================
Run Ecache CPU CPU
Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----
0 0 0 1977 3.0 5 5.1
ok show-post-results
=== Model ====================
Fujitsu PRIMEPOWER250
=== System ===================
Name Model UPA freq.
FJSV,GPUZC-M 250 220MHz
=== UPA module (Processor) ===
CPU# MID Status Type Freq. Cache manuf. impl. mask
0 0 OK SPARC64-V 1977MHz 3072KB 4 5 51
CPU效能監控
mpstat命令用於檢視處理器和處理器集的統計資訊
# mpstat 2 5
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 92 20 0 129 100 151 16 0 1 0 253 4 70 0 26
0 5 0 0 270 201 287 6 0 1 0 367 3 2 0 95
0 0 0 0 266 197 267 1 0 1 0 377 2 2 0 96
0 3 3 0 268 200 283 1 0 0 0 306 1 2 0 96
0 1 0 0 265 196 266 9 0 1 0 655 6 4 0 90
下面是一臺擁有4個CPU的mpstat輸出
# mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 21 0 19 541 441 41 1 8 5 0 151 0 2 0 98
1 25 1 26 2 0 257 1 87 5 0 202 0 1 0 99
2 30 1 29 4 2 441 1 87 6 0 217 0 1 0 99
3 24 1 24 9 2 270 1 89 5 0 193 0 1 0 99
單個CPU可以使用prstat命令來進行監控CPU的效能;
# prstat -a
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
3308 oracle 503M 410M sleep 59 0 0:00:32 9.3% oracle/1
3239 oracle 218M 35M sleep 39 10 0:03:42 4.5% java/27
3781 oracle 500M 408M sleep 59 0 0:00:03 2.8% oracle/1
3865 oracle 107M 7864K sleep 60 0 0:00:00 1.4% oracle/1
2443 oracle 85M 4256K sleep 59 0 0:01:09 1.3% java/14
1940 oracle 28M 7600K sleep 59 0 0:00:40 0.7% Xorg/1
2561 oracle 502M 403M sleep 59 0 0:00:19 0.6% oracle/1
NPROC USERNAME SIZE RSS MEMORY TIME CPU---------------這裡是按使用者使用情況彙總排列
65 oracle 13G 9360M 100% 0:10:31 25%
36 root 141M 22M 0.2% 0:00:39 0.6%
1 noaccess 122M 2612K 0.0% 0:00:33 0.3%
1 smmsp 6700K 432K 0.0% 0:00:00 0.0%
5 webservd 30M 0K 0.0% 0:00:00 0.0%
Total: 113 processes, 361 lwps, load averages: 0.90, 0.70, 0.86

IO 效能監控
# iostat 2 3
tty sd0 sd1 sd2 sd3 cpu
tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id
0 1 451 42 53 0 0 4 321 23 66 122 3 64 3 81 0 16
0 119 183 46 82 0 0 0 173 28 74 27 4 58 9 12 0 79
0 40 376 60 71 0 0 0 109 17 101 64 8 104 16 12 0 72
記憶體效能監控
$ vmstat 2 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr f0 s0 s1 s2 in sy cs us sy id
0 0 44 599220 130164 17 73 133 50 88 0 793 0 38 0 23 73 178 93 3 82 15
0 0 68 248972 11640 22 144 385 0 0 0 0 0 88 0 6 429 333 448 5 11 84
1 0 68 248960 10584 40 142 408 123 164 0 335 0 104 0 1 450 327 473 6 15 79
0 0 68 249004 10288 31 111 345 284 418 0 1608 0 107 0 0 420 299 430 5 13 81
0 0 68 249004 10324 19 93 295 243 342 0 1682 0 81 0 0 406 284 404 2 10 88
網路監控可以使用netstat命令來進行
同時對於OS的效能還可以使用
[url=javascript:;]其他[/url]
工具還監控,如sar,top等,而有些solaris系統沒有安裝,我們可以下載安裝包進行安裝;
from:



本文來自ChinaUnix部落格,如果檢視原文請點:http://blog.chinaunix.net/u2/68079/showart_1889740.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14377/viewspace-1022182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章