Friday, 17 January 2014

GUDS-Gathering Solaris Performance Data



The GUDS script is a ksh script designed to collect the data needed to analyze performance issues. The script collects a specific set of files and runs a series of operating system utilities, the selection of which based on the specified level. The duration, number of iterations, and other variables are provided to the script either as a set of command line arguments or are prompted for input in interactive mode. The collected data is then packaged and compressed in a standard format for delivery to Oracle support.
 The script requires a Service Request number which is used to create a directory for the output of the script, which will be /var/tmp/guds/[SR#]
Guds options
-b : Bind guds to the processor cpuid
-c : Count value for commands that require it
      (vmstat, prstat, iostat, mpstat, sar, ...)
-d : A one line statement describing the state of the system during this               capture
-D : Change the default directory from /var/tmp/guds to <dir>
-g : If specified, skip collecting static configuration data
-h : Display this help text
-H : Run the script for the given number of hours, else for the given number
      of iterations if hours is zero
-i : Interval value for commands that require it
      (vmstat, prstat, iostat, mpstat, sar, ...)
-l : If specified and level >= 2, collect lockstat -H data
-L : Specify the interval during which lockstat is gathering data
      (default: 2 seconds)
-n : The number of iterations the script will do to collect data
-p : If specified, on SPARC, and level >= 2, collect trapstat data
-P : Overide guds exit on perl binary error
-q : Run in non interactive mode
-r : If specified, collect prstat cpu,rss,size, and zones data if able
-R : If specified, allow script to run when uid is not root
-s : The SR # used to create the directory where the data are going to be stored
-S : If specified, mask all IP addresses in the data
-T : Emit timestamps for commands that loop
      (vmstat, mpstat, prstat, iostat)
-v : Print the GUDS Version
-w : Wait time between each iteration (default: 0 seconds)
      If set to 0, then the next iteration will start when the previous finishes
-x : Run this extra command during each iteration
      Output saved in xtra.out - Errors saved in xtra.err
-X : Run the extended set of commands depending on specified level
      level 0 : nothing
      level 1 : lockstat for contention events
      level 2 : trapstat (if -p), lockstat profiling, threadlist, TNF tracing (default)
      level 3 : kmastat, kmausers, memstat (they can take a long time to complete
                on systems with a lot of memory)Increasing extended level can affect system performance.
 -Z : If specified, allow script to run in a non-global zone

Example:
./guds_3_2 -q -X2 -i1 -c40 -w0 -n5 -<SR NO> -d"Performance issue"
 

No comments: