Академический Документы
Профессиональный Документы
Культура Документы
iostat , vmstat and netstat are three most commonly used tools for performance
monitoring . These comes built in with the operating system and are easy to use .iostat stands for input output statistics and reports statistics for i/o devices such as disk drives . vmstat gives the statistics for virtual Memory and netstat gives the network statstics . Following paragraphs describes these tools and their usage for performance monitoring and if you need more information there are some very good solaris performance monitoring books available at www.besttechbooks.com. Table of content :
1. Iostat
2. vmstat
3. netstat
4. Next Steps
iostat reports terminal and disk I/O activity and CPU utilization. The first line of output is for the time period since boot & each subsequent line is for the prior interval . Kernel maintains a number of counters to keep track of the values. iostat's activity class options default to tdc (terminal, disk, and CPU). If any other option/s are specified, this default is completely overridden i.e. iostat -d will report only statistics about the disks.
syntax:
Basic synctax is iostat <options> interval count
Example
$ iostat -xtc 5 2 extended disk statistics tty cpu disk r/s w/s Kr/s Kw/s wait actv svc_t %b tin tout us sy wt id sd0 2.6 3.0 20.7 22.7 0.1 0.2 59.2 19 0 84 3 85 11 0 sd1 4.2 1.0 33.5 8.0 0.0 0.2 47.2 23 sd2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 sd3 10.2 1.6 51.4 12.8 0.1 0.3 31.2 31 The fields have the following meanings: disk r/s w/s Kr/s name of the disk reads per second writes per second kilobytes read per second %w 6 2 0 3
Kw/s kilobytes written per second wait average number of transactions waiting for service (Q length) actv average number of transactions actively being serviced (removed from the queue but not yet completed) %w percent of time there are transactions waiting for service (queue non-empty) %b percent of time the disk is busy (transactions in progress)
Reads/writes per second (r/s , w/s) Percentage busy (%b) Service time (svc_t)
If a disk shows consistently high reads/writes along with , the percentage busy (%b) of the disks is greater than 5 percent, and the average service time (svc_t) is greater than 30 milliseconds, then one of the following action needs to be taken
1.)Tune the application to use disk i/o more efficiently by modifying the disk queries
and using available cache facilities of application servers .
2.) Spread the file system of the disk on to two or more disk using disk striping feature
of volume manager /disksuite etc.
3.) Increase the system parameter values for inode cache , ufs_ninode , which is
Number of inodes to be held in memory. Inodes are cached globally (for UFS), not on a per-file system basis
4.) Move the file system to another faster disk /controller or replace existing
disk/controller to a faster one.
vmstat - vmstat reports virtual memory statistics of process, virtual memory, disk, trap, and CPU activity. On multicpu systems , vmstat averages the number of CPUs into the output. For perprocess statistics .Without options, vmstat displays a one-line summary of the virtual memory activity since the system was booted.
syntax:
Basic synctax is vmstat <options> interval count option - let you specify the type of information needed such as paging -p , cache -c ,.interrupt -i etc. if no option is specified information about process , memory , paging , disk ,interrupts & cpu is displayed . interval - is time period in seconds between two samples . vmstat 4 will give data at each 4 seconds interval. count - is the number of times the data is needed . vmstat 4 5 will give data at 4 seconds interval 5 times.
Example
The following command displays a summary of what the is doing every five seconds. example% vmstat 5 procs memory page disk r b w swap free re mf pi p fr de sr s0 s1 s2 s3 0 0 0 11456 4120 1 0 0 1 10132 4280 0 0 0 1 10132 4616 0 0 0 1 10132 5292 0 41 19 1 4 44 0 0 20 0 0 9 0 3 0 0 0 0 0 0 0 2 0 0 0 0 4 0 0 0 0 0 system
id 82 62 64 78
faults in sy
cpu cs us sy 4 14 3 35 3 33 1 21
48 112 130
0 23 0 19 0 21
The fields of vmstat's display are procs r in run queue b blocked for resources I/O, paging etc. w swapped memory (in Kbytes) swap - amount of swap space currently available free - size of the free list
page ( in units per second). re page reclaims - see -S option for how this field is modified. mf minor faults - see -S option for how this field is modified. pi kilobytes paged in po kilobytes paged out fr kilobytes freed de anticipated short-term memory shortfall (Kbytes) sr pages scanned by clock algorithm disk ( operations per second ) There are slots for up to four disks, labeled with a single letter and number. The letter indicates the type of disk (s = SCSI, i = IPI, etc) . The number is the logical unit number. faults in (non clock) device interrupts sy system calls cs CPU context switches cpu - breakdown of percentage usage of CPU time. On multiprocessors this is an a verage across all processors. us user time sy system time id idle time
Problem symptoms:
1.) If the number of processes in run queue (procs r) are consistently greater than the number of CPUs on the system it will slow down system as there are more processes then available CPUs . 2.) if this number is more than four times the number of available CPUs in the system then system is facing shortage of cpu power and will greatly slow down the processess on the system. 3.) If the idle time (cpu id) is consistently 0 and if the system time (cpu sy) is double the user time (cpu us) system is facing shortage of CPU resources. Resolution : Resolution to these kind of issues involves tuning of application procedures to make efficient use of cpu and as a last resort increasing the cpu power or adding more cpu to the system.
B. Memory Issues:
Memory bottlenecks are determined by the scan rate (sr) . The scan rate is the pages scanned by the clock algorithm per second. If the scan rate (sr) is continuously over 200 pages per second then there is a memory shortage. Resolution : 1. Tune the applications & servers to make efficient use of memory and cache. 2. Increase system memory . 3. Implement priority paging in s in pre solaris 8 versions by adding line "set priority paging=1" in /etc/system. Remove this line if upgrading from Solaris 7 to 8 & retaining old /etc/system file.
Syntax :
netstat <option/s>
multiple options can be given at one time.
Options
-a - displays the state of all sockets. -r - shows the system routing tables -i - gives statistics on a per-interface basis.
-m - displays information from the network memory buffers. On Solaris, this shows statistics forSTREAMS -p [proto] - retrieves statistics for the specified protocol -s - shows per-protocol statistics. (some implementations allow -ss to remove fileds with a value of 0 (zero) from the display.) -D - display the status of DHCP configured interfaces. -n do not lookup hostnames, display only IP addresses. -d (with -i) displays dropped packets per interface. -I [interface] retrieve information about only the specified interface. -v be verbose interval - number for continuous display of statictics.
Example :
$netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------192.168.1.0 192.168.1.11 U 1 1444 le0 224.0.0.0 192.168.1.11 U 1 0 le0 default 192.168.1.1 UG 1 68276 127.0.0.1 127.0.0.1 UH 1 10497 lo0 This shows the output on a Solaris machine who's IP address is 192.168.1.11 with a default router at 192.168.1.1
route command examples: $route add default <hostname> $route add 192.0.2.32 <gateway_name> If the router address is correct but still you can't ping it there may be some network cable /hub/switch problem and you have to try and eliminate the faulty component .
This option is used to diagnose the network problems when the connectivity is there but it is slow in response . Values to look at:
Collisions (Collis) Output packets (Opkts) Input errors (Ierrs) Input packets (Ipkts)
If the input error rate is high (over 0.25 percent), the host is dropping packets. Hub/switch cables etc needs to be checked for potential problems.
Example:
#netstat -a
Local Address *.* *.22 *.22 *.* *.32771 *.4045 *.25 *.5987 *.898 *.32772 *.32775 *.32776 *.* 192.168.1.184.22 192.168.1.184.22 192.168.1.184.22 Remote Address *.* *.* *.* *.* *.* *.* *.* *.* *.* *.* *.* *.* *.* 192.168.1.186.50457 192.168.1.186.56806 192.168.1.183.58672 Swind 0 0 0 0 0 0 0 0 0 0 0 0 0 41992 38912 18048 Send-Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rwind 24576 24576 24576 24576 24576 24576 24576 24576 24576 24576 24576 24576 24576 24616 24616 24616 Recv-Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 State IDLE LISTEN LISTEN IDLE LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN IDLE ESTABLISHED ESTABLISHED ESTABLISHED
if you see a lots of connections in FIN_WAIT state tcp/ip parameters have to be tuned because the connections are not being closed and they gets accumulating . After some time system may run out of
resource . TCP parameter can be tuned to define a time out so that connections can be released and used by new connection.
4. Next Steps :
This article tried to cover the performance tuning aspects in unix .There are not many books available in this subject but I have found some good books which will prove to be helpful in performance management . These books are available for online buying and you should relevant books from this selection in your personal or official book collection. Following are the list of books recommended for performance tuning in unix , solaris , HPUX, AIX ,Linux ,oracle & SAP . 1. UNIX Performance Tuning; Sys Admin-Essential Reference Series 2. System Performance Tuning, 2nd Edition (O'Reilly System Administration) 3. Techniques for Optimizing Applications: High Performance Computing 4. Sun Performance and Tuning: Sparc & Solaris 5. Accelerating AIX : Performance Tuning for Programmers and Systems Administrators 6. AIX Performance Tuning Guide 7. HP-UX 11i Tuning and Performance (Hewlett-Packard Professional Books (Paperback)) 8. HP-UX Tuning and Performance: Concepts, Tools and Methods 9. Linux Performance Tuning and Capacity Planning 10.Performance Tuning for Linux(R) Servers 11.Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning (Osborne ORACLE Press Series) 12.Oracle9i Performance Tuning Tips & Techniques 13.Oracle High Performance Tuning for 9i and 10g
14. SAP Performance Optimization Guide, Third Edition