uaio is a enhanced version of iostat for Digital UNIX (aka Tru64|OSF1). ftp the current version of: ftp://ftp.alaska.edu/pub/sois/uaio.tar.Z (link to kits/uaio-vX.Y.tar.Z) then: uncompress uaio.tar.Z tar xvf uaio.tar and read uaio_kit/README for more information. Note: 'ua_make.ksh uaio install /usr/local' can be used to uncompress, tar, make, and install newest version. If you have problems, please contact fnkac@uaf.edu or kcarlson@arsc.edu. ________________________________________________________________________ Several programs are included with the uaio distribution: uaio iostat replacement uashodev show bus, controller, device tables uakmknod generate device special files [archaic 5.x] ua_oraio resummarize an oracle io report (data collection for ua_oraio required) uafuser Display PID's for files or filesystems ua_uerf uerf filter (make human scannable reports) ua_date Date subtraction and reformatting as well as some sample scripts. Some additional utilities can be found on ftp.alaska.edu, look under: ftp://ftp.alaska.edu/pub/sois/ ftp://ftp.alaska.edu/pub/randy/ Change History: -------------- v5.11 2005-03-25 kac Resolved dev.perf compile errors due to perf no longer being a member of struct device. v5.10 2002-11-11 kac Kicked version number up to sort of reflect Tru64. Repaired v5.1 core'ing problem summing busses incorrectly (many thanks to: ). Added detection if arbitrary bus maximum of 64 exceeded. Added CFLAGS recognition to Makefile, e.g., use 'export CFLAGS='-g'; make uaio' for debug support. Modularaized source from single file (uaio.c) to breakdown by routine (11 files). Verified on the few 5.x systems I could access (HP Testdrives and Mark's) that bus summaries look correct. Detect 5.x and higher and construct disk name from table name and unit (which is the 5.x naming method). v2.4 2002-09-03 kac Minor changes in kit structure (no code changes) v2.3t2 2002-04-05 kac Releasing v2.3t2, runs on Tru64 5.1 Still have not determined how the TBL_DKINFO entries can be correlated back to the bus structure. Therefore, the bus summaries are likely incorrect. Suggestions on how to decipher this can be sent to kcarlson@arsc.edu. As of this time, I still do not have direct access to a Tru64 5.x system (using testdrive.compaq.com) and have no access to manuals, source, or technical documents on the 5.x implementation. Other than uaio and uashodev I have not tested any of the other programs in this distribution under 5.x With 5.x the uakmknod program is likely irrelevant. thanks to: Jim Fitzmaurice 2002-01-05 kac (revived effort) Added disk_table program for testing. v2.3t 2001-06-26 kac disk_info.h v2.3 revisions for Tru64 5.1 disk_info.c v2.3 revisions for Tru64 5.1 uashodev v2.3 revisions for Tru64 5.1 uaio v2.3 revisions for Tru64 5.1 Fix compilation warnings, for Tru64 5.1. Adjust method of generating device lists based on changes made with 5.1. disk_table v0.0 Q&D standalone to show table(TBL_DKINFO... uakmknod v0.2 fix Tru64 5.1 compilation warnings ua_orario v2.2 fix Tru64 5.1 compilation warnings Fix compilation warnings for Tru64 5.1. No attempt made to validate code, for uakmnod in particular the device naming may have changed 4.x->5.x voiding this code. thanks to: Jim Fitzmaurice v2.2 2000-02-15 kac uaio v2.2 Mod(%) 100 year display uashodev 2.1 " v2.1b 1999-10-20 kac distribution revisions to accomodate raven upgrade. 1999-10-12 kac uaio v2.1 correct s/%d/%ld/ in debug display of statistics Thanks to: "Hergert, John (PSC)" 1999-05-17 kac link to kits and copy man *.html files v2.1a 981106 snkac Added examples from du_tools/analysis: audit_setup, audit_stats.ksh*, audit_tool.doc, hog.find.user, hog.ora.audit, io.benchmark, io.benchmark.2, oracle_io v2.1 980404 snkac uafuser, ua_uerf, ua_date added here from uakpact kit... utilities in uaio are DU specific. v2.0b 980331 snkac add program version# to 'uaio -?' and uashodev header. wldcmp.c,wldcmp.h were missing in kit. for -D (debug) add fflush(stdout) calls. For disk_info.c (uashodev) add parens around the fabricated lun letter... it looks like hsz devices under du v4.0b now include the lun letter in dkinfo.di_name [table(TBL_DKINFO], display is rzb(b)50... uaio still fabricates the letter. It also appears that dev.logunit [getsysinfo(GSI_DEV_STRUCT] is now just a relative number for scsi disks not the real lu, still assuming it's lu for swxcr (re), the lu should come from dkinfo.di_unit [table(TBL_DKINFO] for scsi disks. thanks to: MAPILADO@us.oracle.com Note, this was noticed investigating a segmentation fault on a DU v4.0b 8400, not reproducable on UofA 8400 DU v4.0b. Still pending information back on whether this has been resolved.... ultimaely may be resolved in 2.0c. Also, the changes described above were tested on DU v4.0b standard scsi and hsz systems and DU v3.2g standard scsi systems. Missing from that test mix is any swxcr (re) system and v3.2g system... while the disk_info() mods were attempted to be safe for either version of DU and for any flavors (scsi,hsz,swxcr) proof is in seeing it work. The v1.9 release was tested against swxcr both DU versions as well as many v3.2g configurations (scsi and hsz). As always, report anomalies back to kcarlson@arsc.edu (preferably with a 'uaio -D' or 'uashodev -D' output). v1.9 980218 snkac included ua_arg_show() now displays program version, affects uakmknod and ua_oraio when re-make'd. v1.8b 971231 snkac add wldcmp.o to makefile due to ua_arg changes; no need to regenerate a kit for this. v1.8a 971102 snkac add make.ksh (link); mv *.8 to man/*; add $UAK as install directory in Makefile. v1.8 970912 sxkac clean up the kit & kit generation v1.7 970905 sxkac uaio.c correct 'uaio -N 1 28' intervals >2*MAX_INTV with corrupted display, arrays must be MAX_INTV+1 to accomodate the one which must be retained with buffer role. v1.6 970831 sxkac disk_info.c logic added in v1.4 using tbl_dkinfo was not properly recognizing tapes and defaulting them as unit 0 disks under v3.2g w/out kmem authority... tightened the logic to require 'rz' dkinfo recognition. v1.5 970827 sxkac uaio, uashodev, disk_info.c, disk_info.h maintain structure for busses and controllers; link disk structures to parent controller structure; distinguish scsi controllers (Bus#) from other controller types (Ctl#) in sub-totals. v1.4 970826 sxkac uaio, uashodev, disk_info.c, disk_info.h disk_info.h added to maintain unit structure; bus and controllers reporting ennhanced; added table dkinfo call for disk device recognition; distinguishing disks by controller type added. 970821 sxkac add ua_make_tapes.ksh sample script. add Makefile and correct path of uaccilib.h in ua_arg.c; thanks to: Thomas Erskine v1.3 970818 sxkac uashodev (via disk_info.c) add display of bus and controller information 970815 sxkac uaio (and disk_info.c) support for swxcr devices under both DU v3.x and v4.0. thanks to: Keith Lewis Thomas Erskine Abdon <71055.111@compuserve.com> Andrew Greer Stephen Cooper Judith Reed v1.2 970726 sxkac uaio: reduce narrow display from 19 to 18 disks so fits in 132 cols. v1.1 970613 sxkac uaio: add -w option to display when (timestamp) vs. totals in the vertical display. changed uaio.ksh to utilize 100 second interval with 36 iterations (still 1 hour) for easier mental tps calculation. 970613 sxkac uakmknod: moved source to uaio directory and wrote man page (finally). v0.9 970604 sxkac uaio + ua_oraio: ua_oraio moved under uaio directory (and documented); minor corrections documented in uaio.c history log. v0.7 970515 sxkac uaiostat: (now uaio) program rewritten as uaio additional options added. uaio and uashodev are now in a separate tar kit: ftp://ftp.alaska.edu/pub/sois/uaio.v0.7.tar.Z since it was written from scratch, source included there (as well as here under src/uaio). 970417 sxkac uaiostat and uals: beefed up the README. added 'diff -e' so source can be reconstructed by those with license (thanks to knight@zk3.dec.com). 970329 sxkac uaiostat is now DU v4.0 (or v3.x) compatable 970329 sxkac uaiostat: updated source to DU v4.0 release (trivial, will run in either v3.2 or v40). Required: disk_info mods as v4.0 shows device type as 'cam' vs. 'rz'; if root authority will read /dev/kmem to pick up device type. 970329 sxkac uashodev: s/uak_shrz/uashodev/ Renamed and updated for DU v4.0 (compiled with new disk_info). 970322 sxkac uak_iosts (renamed as uaiostat): trap HUP to print summary; mask device name, e.g., rz*20 matches rz20, rza20, rzb20, etc; changed name s/uak_iosts/uaiostat/. add options: -t,-b,-i,-n,-s,-S,-p,-m,-e: -s show summary Include a summary of all intervals -S full summary Summary with rates, transfer counts, and block counts -t just transfers Don't show rates, just transfer count -b just kblocks Don't show rates, just k blocks -i only intervals Do not show rates or values since boot -n no tty stats Do not display tty statistics -pN page size Specify intervals per page (new headers), defaults now at 60, old hard-coded was 19. -mN max disks Specify maximum disks displayed, defaults now at 12 (132 columns), old default was 4, use 6 for 80 columns. -e exclude list drives specified are to be excluded. note for either include|exclude use '*' as a mask, e.g., rz*20 would match rz20, rza20, rzb20... 970321 sxkac ua_oraio: added to analyze oracle io rates (sql extract), requires io_rates.sql and file naming conventions. 970122 sxkac minor enhancments to uak_iosts (iostat for hsz's) made: date.time stamp on header line; '0' activity displayed as '.' not ' ' so field orientation (vs. column orientation) maintained for piping elsewhere. 951017 sxkac initial version uak_iosts: additions to iostat for hsz support.