Solaris Monitoring

Материал из noname.com.ua
Версия от 14:09, 15 июля 2011; Sirmax (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску


Solaris Performance and Tracing Tools

Media:M1-SolarisPOD-Lisa09-V2.pdf

Physical Memory:

# prtconf
System Configuration: Sun Microsystems sun4u
Memory size: 512 Megabytes

Kernel Memory

# sar -k 1 1
SunOS ian 5.8 Generic_108528-03 sun4u 08/28/01
13:04:58 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
13:04:59 10059904 7392775 0 133349376 92888024 0 10346496 0

Free Memory

# vmstat 3 3
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr f0 s0 s1 s6 in sy cs us sy id
0 0 0 478680 204528 0 2 0 0 0 0 0 0 0 1 0 209 1886 724 35 5 61
0 0 0 415184 123400 0 2 0 0 0 0 0 0 0 0 0 238 825 451 2 1 98
0 0 0 415200 123416 0 0 0 0 0 0 0 0 0 3 0 219 788 427 1 1 98
prtstat


Process control
System Stats
Process Tracing/
debugging
● abitrace – trace ABI interfaces
● dtrace – trace the world
● mdb – debug/control processes
● truss – trace functions and system
calls
●pgrep – grep for processes
●pkill – kill processes list
●pstop – stop processes
●prun – start processes
●prctl – view/set process
resources
●pwait – wait for process
●preap* – reap a zombie process
Process stats
● acctcom – process accounting
● busstat – Bus hardware counters
● cpustat – CPU hardware counters
● iostat – IO & NFS statistics
● kstat – display kernel statistics
● mpstat – processor statistics
● netstat – network statistics
● nfsstat – nfs server stats
● sar – kitchen sink utility
● vmstat – virtual memory stats
● cputrack / cpustat - processor hw counters
● plockstat – process locks
● pargs – process arguments
● pflags – process flags
● pcred – process credentials
● pldd – process's library dependencies
● psig – process signal disposition
● pstack – process stack dump
● pmap – process memory map
● pfiles – open files and names
● prstat – process statistics
● ptree – process tree
● ptime – process microstate times
● pwdx – process working directory
Kernel Tracing/
debugging
● dtrace – trace and monitor kernel
● lockstat – monitor locking statistics
● lockstat -k – profile kernel
● mdb – debug live and kernel cores
pargs
pflags
pcred
pldd
psig
pstack
pmap

Открытые файлы

Для анализа файлов открытых процессом используется pfiles (что-то вроде lsof)

pfiles

Для интерпритации полученых результатов удобно следует знать:

Значения, которые использовались или используются в различных системах:
hex	имя	ls	oct	описание
f000	S_IFMT		170000	маска типа файла
0000			000000	SCO: недействующий inode
				BSD: неизвестный тип
				в SVID-v2 и XPG2 как 0, так и 0100000
				означают обычный файл
1000	S_IFIFO	p|	010000	поименованный канал FIFO
2000	S_IFCHR	c	020000	символьной устройство (V7)
3000	S_IFMPC		030000	мультиплексированное символьное
				устройство (V7)
4000	S_IFDIR	d/	040000	каталог (V7)
5000	S_IFNAM		050000	XENIX: именованый специальный файл с
				двумя подтипами и разными значениями
				st_rdev (1 и 2)
0001	S_INSEM	s	000001	семафор XENIX, подтип IFNAM
0002	S_INSHD	m	000002	разделяемые данные XENIX, подтип IFNAM
6000	S_IFBLK	b	060000	блочное устройство (V7)
7000	S_IFMPB		070000	мультиплексированное блочное
				устройство (V7)
8000	S_IFREG	-	100000	обычный файл (V7)
9000	S_IFCMP		110000	VxFS: сжатый файл
9000	S_IFNWK	n	110000	сетевое устройство (HP-UX)
a000	S_IFLNK	l@	120000	символьная ссылка (BSD)
b000	S_IFSHAD		130000	Solaris: теневой inode для ACL
				(не виден пользовательскими
				процессами)
c000	S_IFSOCK	s=	140000	сокет (BSD; также "S_IFSOC" on VxFS)
d000	S_IFDOOR	D>	150000	Solaris: door
e000	S_IFWHT	w%	160000	BSD whiteout (не используется для inode'ов)
0200	S_ISVTX		001000	Бит принадлежности: сохраняет код
				программы в файле подкачки даже после
				использования (V7)
				зарезервировано (SVID-v2)
				В некаталогах: не кэшировать этот
				файл (SunOS)
				В каталогах: флаг ограниченного
				удаления (SVID-v4.2)
0400	S_ISGID		002000	установить идентификатор группы при
				выполнении (V7)
				для каталогов: использовать семантику
				BSD для установки группы-владельца
0400	S_ENFMT		002000	жесткая блокировка файлов в стиле SysV
				(делит функции c S_ISGID)
0800	S_ISUID		004000	установить идентификатор пользователя
				при выполнении (V7)
0800	S_CDF		004000	каталог является файлом, зависящим от контекста (HP-UX)
Бит принадлежности появился в Version 32V AT&T UNIX.  
<PRE>

<PRE>
pwdx
pstop
prun
pwait
ptree
ptime
preap
pkill
trapstat


mpstat
vmstat
netstat
sar

cputrack cpustat


fsstat

PROC tools

pargs pflags pcred pldd psig pstack pmap pfiles pstop prun pwait ptree ptime preap

Microstates

  • Fine-grained state tracking for processes/threads
  • Off by default in Solaris 8 and Solaris 9
  • On by default in Solaris 10
  • Can be enabled per-process via /proc
  • prstat -m reports microstates
  • As a percentage of time for the sampling period
  1. USR – user mode
  2. SYS - kernel mode
  3. TRP – trap handling
  4. TFL – text page faults
  5. DFL – data page faults
  6. LCK – user lock wait
  7. SLP - sleep
  8. LAT – waiting for a processor (sitting on a run queue)
prstat -m

Use prstat -m LAT category, in conjunction with utilization measurements, delivered workload throughput and run queue depth (vmstat “r” column) to determine for CPU capacity planning

prstat – user summary

# prstat -t
NPROC USERNAME SIZE RSS MEMORY TIME CPU
128 root 446M 333M 1.4% 47:14:23 11%
2 measter 6600K 5016K 0.0% 0:00:07 0.2%
1 clamb 9152K 8344K 0.0% 0:02:14 0.1%
2 rmc 7192K 6440K 0.0% 0:00:00 0.1%
1 bricker 5776K 4952K 0.0% 0:00:20 0.1%
2 asd 10M 8696K 0.0% 0:00:01 0.1%
1 fredz 7760K 6944K 0.0% 0:00:05 0.1%
2 jenks 8576K 6904K 0.0% 0:00:01 0.1%
1 muffin 15M 14M 0.1% 0:01:26 0.1%
1 dte 3800K 3016K 0.0% 0:00:04 0.0%
2 adjg 8672K 7040K 0.0% 0:00:03 0.0%
3 msw 14M 10M 0.0% 0:00:00 0.0%
1 welza 4032K 3248K 0.0% 0:00:29 0.0%
2 kimc 7848K 6344K 0.0% 0:00:25 0.0%
4 jcmartin 13M 9904K 0.0% 0:00:03 0.0%
1 rascal 17M 16M 0.1% 0:02:11 0.0%
1 rab 3288K 2632K 0.0% 0:02:11 0.0%
1 gjmurphy 3232K 2392K 0.0% 0:00:00 0.0%
1 ktheisen 15M 14M 0.1% 0:01:16 0.0%
1 nagendra 3232K 2400K 0.0% 0:00:00 0.0%
2 ayong 8320K 6832K 0.0% 0:00:02 0.0%
Total: 711 processes, 902 lwps, load averages: 3.84, 4.30, 4.37

Solaris iostat

● Wait: number of threads queued for I/O ● Actv: number of threads performing I/O ● wsvc_t: Average time spend waiting on queue ● asvc_t: Average time performing I/O ● %w: Only useful if one thread is running on the entire machine – time spent waiting for I/O ● %b: Device utilization – only useful if device can do just 1 I/ O at a time (invalid for arrays etc...)

# iostat -xnz
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
687.8 0.0 38015.3 0.0 0.0 1.9 0.0 2.7 0 100 c0d0
Queue Performing I/O
wait svc
New Formatting flags -C, -l, -m, -r, -s, -z, -T
● -C: report disk statistics by controller
● -l n: Limit the number of disks to n
● -m: Display mount points (most useful with -p)
● -r: Display data n comma separated format
● -s: Suppress state change messages
● -z: Suppress entries with all zero values
● -T d|u Display a timestamp in date (d) or unix time_t (u)