///
Search
😶

솔라리스 성능 관련 명령어

#iostat -xtc 3
:- 가장 중요한 것은 서비스 시간(svc_t), 드라이브에 대한 입,출력 요구의 서비스에 소요된 시간을 나타탬. 이
시간에 다른 요구가 처리중에 있기 때문에 큐에 대기하는 시간포함, 30초의 평균사용률이 30%을 넘는 디스크는 점검 요소
[v700:/]#iostat -xtc 3
extended device statistics      tty         cpu
device    r/s  w/s   kr/s   kw/s wait actv  svc_t  %w  %b  tin tout us sy wt id
fd0       0.0  0.0    0.0    0.0  0.0  0.0    0.0   0   0    0    1  0  0  0 100
sd0       0.1  0.7    0.8    5.4  0.0  0.0    5.3   0   0
sd2       0.0  0.0    0.4    0.0  0.0  0.0   12.5   0   0
sd6       0.0  0.0    0.0    0.0  0.0  0.0    0.0   0   0
nfs1      0.0  0.0    0.0    0.0  0.0  0.0    0.0   0   0
.r/s   : 초 당 Read
.w/s   : 초 당 Write
.kr/s  : 초 당 Read(KB)
.kw/s  : 초 당 Write(KB)
.wait  : 서비스를 위한 Transaction Waiting 의 평균값
.actv  : 실질적으로 서비스된 Transaction 의 평균값
.svc_t : 서비스 시간의 평균값(milliseconds)
.%w    : Queue가 비어있지 않은 시간의 백분율
.%b    : 디스크가 busy 상태인 시간이 백분율
#iostat -D 3
:- 시스템의 I/O 가 가장 활발히 운용되고 있을 때 측정하여 I/O 편중됨을 측정. 각 디스크의 사용도(util)가 어느
정도인지 측정, 60%이상이면 과부하.
[v700:/]#iostat -D 3
fd0           sd0           sd2           sd6
rps wps util  rps wps util  rps wps util  rps wps util
0   0  0.0    0   1  0.1    0   0  0.0    0   0  0.0
0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0
0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0
util < 5%  : White
5% < util < 35% : Green
35% < util < 65% : Amber
65% < util       : RED
4. SAR(System Activity Reporter)
sar [option] [-o file] t [n]
sar [opotion] [-s time] [-e time] [-i sec] [-f file]
#sar 3 5
[v700:/]#sar 3 5
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:18:21    %usr    %sys    %wio   %idle
11:18:24       0       0       0      99
11:18:27       0       0       0     100
11:18:30       0       0       0     100
11:18:33       0       0       0     100
11:18:36       0       0       0     100
Average        0       0       0     100
.-a : Check file access operation
.-b : Report buffer activity
.-c : Report system calls
.-d : Report block device activity
.-g : Report paging activity(page-out & memory freeing)
.-k : Report kernel memory allocation(KMSA) activity
.-m : Report message & semaphore activity
.-p : Report paging acitivity(page-in & fault activity)
.-q : Report average queue length while occupied & percent of time occupied
.-r : Report unused memory pages & disk blocks
.-u : Report CPU utilization
.-v : Report status of process, i-node, file tables
.-x : Report remote file-sharing & switching activity
.-w : Report system swapping & switching activity
.-y : Report TTY device activity
.-A : Report all data
#CPU 에 관한 점검사항
#sar 3 5
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:18:21    %usr    %sys    %wio   %idle
11:18:24       0       0       0      99
11:18:27       0       0       0     100
11:18:30       0       0       0     100
11:18:33       0       0       0     100
11:18:36       0       0       0     100
Average        0       0       0     100
[v700:/]#sar -o /tmp/sar_1.file 3 5
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:26:01    %usr    %sys    %wio   %idle
11:26:04       0       0       0     100
11:26:07       0       0       0     100
11:26:10       0       0       0     100
11:26:13       0       0       0     100
11:26:16       0       0       0     100
Average        0       0       0     100
[v700:/]#ls -l /tmp/sar_1.file
rw-r--r-- 1 root other 26064 10월 12일 11:26 /tmp/sar_1.file
[v700:/]#sar -f /tmp/sar_1.file
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:26:01    %usr    %sys    %wio   %idle
11:26:04       0       0       0     100
11:26:07       0       0       0     100
11:26:10       0       0       0     100
11:26:13       0       0       0     100
11:26:16       0       0       0     100
Average        0       0       0     100
#Buffer Activity
#sar -b 3 5
[v700:/]#sar -b 3 5
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:27:09 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
11:27:12       0       0     100       0       0     100       0       0
11:27:15       0       0     100       0       0     100       0       0
11:27:18       0       0     100       0       0     100       0       0
11:27:21       0       0     100       0       0     100       0       0
11:27:24       0       3     100       3       6      53       0       0
Average        0       1     100       1       1      53       0       0
:- %rcache 와 %wcache는 시스템 버퍼의 실질적인 유효값으로, 만약 %rcache 가 90%이하로 떨어지거나, %wcache 값이 65% 이하이면 버퍼스페이스 증가할 것
#Disk I/O 점검
#sar -d 10 3
[v700:/]#sar -d 5 3
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:29:06   device        %busy   avque   r+w/s  blks/s  avwait  avserv
11:29:11   fd0               0     0.0       0       0     0.0     0.0
nfs1              0     0.0       0       0     0.0     0.0
sd0               0     0.0       0       0     0.0     0.0
sd0,a             0     0.0       0       0     0.0     0.0
sd0,b             0     0.0       0       0     0.0     0.0
sd0,c             0     0.0       0       0     0.0     0.0
sd0,d             0     0.0       0       0     0.0     0.0
sd0,f             0     0.0       0       0     0.0     0.0
sd0,g             0     0.0       0       0     0.0     0.0
sd0,h             0     0.0       0       0     0.0     0.0
sd2               0     0.0       0       0     0.0     0.0
sd2,c             0     0.0       0       0     0.0     0.0
sd2,d             0     0.0       0       0     0.0     0.0
sd2,f             0     0.0       0       0     0.0     0.0
sd2,h             0     0.0       0       0     0.0     0.0
sd6               0     0.0       0       0     0.0     0.0
#Memory 와 page-out 점검
#sar -g 10 3
:- pgscan/3 는 초 당 페이지 수를 나타낸 것, 높으면 부족함
sar -g 10 3
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:30:50  pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
11:31:00     0.00     0.00     0.00     0.00     0.00
11:31:10     0.00     0.00     0.00     0.00     0.00
11:31:20     0.00     0.00     0.00     0.00     0.00
Average      0.00     0.00     0.00     0.00     0.00
#Process 점검
#sar -q 10 3
:-q OPTION 을 사용하면 얼마나 많은 수의 프로세스가 실행 대기 큐에 있는지 검색 할 수 있다. runq-sz 은
메모리 상에 대기중인 Process Thread 수, 2 이상이면 CPU 가 한계치에 다다른 것. %runocc 는 어떤 run queue 숫자가 작을수록 우선 순위가 높다.
[v700:/]#sar -q 10 3
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:33:27 runq-sz %runocc swpq-sz %swpocc
11:33:37
11:33:47
11:33:57
Average
#Swap Memory 와 Swap-file disk block
#sar -r 10 3
:- 가용 메모리가 인스톨된 메모리의 6%보다 계속해서 작으면 가용 메모리가 부족함
잠재적인 병목 현상
[v700:/]#sar -r 10 3
SunOS v700 5.7 Generic_106541-17 sun4u    10/12/01
11:34:12 freemem freeswap
11:34:22    9469  2318629
11:34:32    9478  2320944
11:34:42    9478  2320944
Average     9475  2320172
5. netstat
#netstat-i 5
[v700:/]#netstat -i 5
input   le0       output           input  (Total)    output
packets errs  packets errs  colls  packets errs  packets errs  colls
82959   4     3691    37    17     84638   4     5370    37    17#netstat -i
7       0     1       0     0      7       0     1       0     0
5       0     2       0     0      5       0     2       0     0
6       0     2       0     0      6       0     2       0     0
2       0     2       0     0      2       0     2       0     0
#netstat -i
[v700:/]#netstat -i
Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue
lo0   8232 loopback      localhost      1679   0     1679   0     0      0
le0   1500 v700          v700           83015  4     3717   37    17     0
:- Network Collision Rate(%) 는 Collision 수를 Output Packet 수를 나눈 것으로 (Network Collision Rate = Collis/Opkts)으로, 앞의 사항을 예로 하면 Network Collision RAte = 17/3717=0.0046% 이다. 이 때 Collision Rate 가 5%보다 크고 10%에 가까워지면 Network Overload 가 초래됨,
:- Input Packet Error Rate(%)는 Input Error 수를 전체 Input Packet 수로 나누며 (Input Packet Error Rate = Ierrs/Ipkts), Output Packet Error Rate(%) 는 Output Error 수를 전체 Output Packet Error 수로 나눈 것(Output Packet Error Rate = Oerrs/Opkts)으로, 이때 Input Rate 가 0.25%보다 크게 되면 시스템은 패킷을 드롭하게 된다.
6.snoop
#snoop -o /tmp/a
[v700:/]#snoop -o /tmp/a
Using device /dev/le (promiscuous mode)
189 ^C
[v700:/]#snoop -i /tmp/a | more
1   0.00000 211.47.158.167 -> dos          TELNET C port=1034 f
2   0.00051          dos -> 211.47.158.167 TELNET R port=1034 f
3   0.01138 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141984171 Seq=9703528 Len=0 Win=8760
4   0.00146 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141990011 Len=1460 Win=8022
5   0.00122 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141991471 Len=1460 Win=8022
6   0.01544 211.200.131.241 -> 211.47.158.140 UDP D=9001 S=9785 LEN=25
7   0.00592 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141987091 Seq=9703528 Len=0 Win=8760
8   0.00146 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141992931 Len=1460 Win=8022
9   0.00123 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141994391 Len=1460 Win=8022
10   0.02105 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141990011 Seq=9703528 Len=0 Win=8760
11   0.00146 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141995851 Len=1460 Win=8022
12   0.00123 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141997311 Len=1460 Win=8022
13   0.01199 211.47.158.146 -> cheesy       XWIN R port=36490
14   0.00394 211.47.158.167 -> dos          TELNET C port=1034
15   0.00051          dos -> 211.47.158.167 TELNET R port=1034
16   0.00782 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141992931 Seq=9703528 Len=0 Win=8760
17   0.00146 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=141998771 Len=1460 Win=8022
18   0.00123 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142000231 Len=1460 Win=8022
19   0.01835 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141995851 Seq=9703528 Len=0 Win=8760
20   0.00145 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142001691 Len=1460 Win=8022
21   0.00122 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142003151 Len=1460 Win=8022
22   0.02392     notebook -> v700         TELNET C port=1235
23   0.00007         v700 -> notebook     TELNET R port=1235 Using device /dev/le
24   0.00035 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=141998771 Seq=9703528 Len=0 Win=8760
25   0.00147 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142004611 Len=1460 Win=8022
26   0.00122 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142006071 Len=1460 Win=8022
27   0.01833 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=142001691 Seq=9703528 Len=0 Win=8760
28   0.00133 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142007531 Len=1344 Win=8022
29   0.02296 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=142004611 Seq=9703528 Len=0 Win=8760
30   0.02383 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=142007531 Seq=9703528 Len=0 Win=8760
31   0.00764 211.47.158.167 -> dos          TELNET C port=1034
32   0.00113 211.47.237.143 -> 211.47.158.144 TCP D=3129 S=139     Ack=142008875 Seq=9703528 Len=0 Win=7416
33   0.00027 211.47.158.144 -> 211.47.237.143 TCP D=139 S=3129     Ack=9703528 Seq=142008875 Len=68 Win=8022
7. sdtprocess
8. top
** II. 성능 조정 기준 **
.White : 사용량이 아주 적다
.Blue  : 사용량이 적다
.Green : 특이한 문제점없이 원활히 운영되고 있다.
.Amber : Warning Level
.Red   : 심각한 LEVEL 이며, 조치가 필요함
.Black : 시스템의 상태가 아주 심각하다.
.Action : 각 테이블의 rule 에서 취해야 할 조치 사항에 관한 내용
1. Memory Rule
- 가상메모리
100000k <= vmstat 30. swap              White       Swap Waste
100000k <= vmstat 30. swap < 100000k    Green       No Problem
4000k   <= vmstat 30, swap < 10000k     Amber     Swap Low
1000k   <= vmstat 30, swap < 4000k      Red         Swap Low
vmstat 30. swap < 1000k      Black       No Swap
- Physical 메모리
vmstat 30. sr = = 0      White   RAM Waste
0 <  vmstat 30. sr < 200      Green   No Problem
200 <= vmstat 30. sr < 300      Amber   RAM Low
300 <= vmstat 30. sr         RED      RAM Low
- CPU Rule
vmstat 30. r = = 0      White   CPU Idle
0 <  (vmstat 30. r/ncpus) < 3.0  Green   No Problem
3.0 <= (vmstat 30. r/ncpus) <= 5.0  Amber   CPU Busy
5.0 <  (vmstat 30. r/ncpus)      RED    CPU Busy
mpstat 30. smtx < 200     Green   NO Problem
200 <= mpstat 30. smtx < 400     Amber   Nutex Stall
400 <= mpstat 30. smtx        RED    Mutex Stall
Disk I/O Rule
(iostat -x 30. b < 5%) && (Other disks white or green)  White  No Problem
(iostat -x 30. b < 5%) && (Other disks amber or red)   Blue   Idle Disk
( 5% <= iostat -x 30. b) && (iostat -x 30. svc_t < 30 ms)  Green No Problem
(20% <= iostat -x 30. b) && (30ms <= iostat -x 30. svc_t < 50ms) Amber Busy Disk
(20% <= iostat -x 30. b) && (50ms <= iostat -x 30. svc_t) RED  Budy Disk
(20% <= iostat -x 30. b) && (50ms <= iostat -x 30. svc_t)
&& (iostat -x 30. disk == "fd0" || iostat -x 30. disk == "sd6") Amber Floppy/CD
0% == iostat -x 30. w                  Green  No Problem
0% <  iostat -x 30. w < 5%                Amber  SCSI Busy
5% <= iostat -x 30. w                   RED   SCSI Busy
Network Rule(Ethernet collision)  
(0 < netstat -i 30. output.packets < 10) && (100 * netstat -i 30. output.colls/ netstat -i 30. output.packets < 0.5%) &&(Other nets white or green) White NO problem  
(0 < netstat -i 30. Output.packets < 10) && (100 * netstat -i 30. Output.colls/ netstat -i 30. Output.packets < 0.5%) && (Other nets amber or red) Blue Inactive Net  
(10 <= netstat -i 30. Output.packets) && (0.5% <= 100 * netstat -i 30. Output.colls/ netstat -i 30. Output.packets < 2.0% ) Green NO Problem  
(10 <= netstat -i 30. Output.packets) && (2.0% <= 100 * netstat -i 30. Output.colls/ netstat -i 30. Output.packets < 5.0% ) Amber Busy Net 
 (10 <= netstat -i 30. Output.packets) && (5.0% <= 100 * netstat -i 30. Output.colls/ netstat -i 30. Output.packets) RED Busy Net