 			EPM V1.3 Release Notes  			   April 9, 1993    			Ed Heinrich 			The LOKI Group, Inc.  			1957 East Oakshire Lane 			Sandy, Utah 84092 			(801)-576-0730  			heinrich@BYU.EDU   	 OVERVIEW:   N The EPM package provides a means to collect statistics on disk I/O operations P that VMS does not, by default, provide.  EPM is capable of providing a synopsis M of the type of disk I/O's, the size of each I/O, and tracking which files are H accessed the most both for read/write operations and as a result of file fragmentation.     DISCLAIMER:   B EPM HAS NEITHER BEEN TOTALLY DEBUGGED NOR TESTED IN EVERY POSSIBLE CONFIGURATION.  N EPM is NOT a commercial product but, rather, is provided free of charge on an M "as is" basis.  As such, neither Edward A. Heinrich nor The LOKI Group, Inc.  N make any guarantees about the usefulness of any part of this package nor take K any responsibility for any damage, loss, or harm that may arise out of its  
 execution.     PACKAGE CONTENTS:    EPM consists of two parts:  O EPMDRIVER is a standard VAX/VMS device driver, that contains code to intercept  H disk I/O request packets, (IRPs), and collect statistics based upon the I content of the IRP.  EPMDRIVER, which communicates to the display program K via the QIO interface, intercepts the STARTIO address of the disk(s) to be  
 monitored.  K EPM is the user-interface to EPMDRIVER.  EPM consists of EPM.C and EPM.CLD. L EPM.C is a command line driven program that communicates with EPMDRIVER, viaK the QIO interface, to establish the monitoring interval, number of files to M collect statistics for, and the disk devices to intercept.  EPM also provides M a means to display the collected statistics to the current terminal.  EPM.CLD < defines the command line commands used to interact w/ EPM.C.    1 The EPM command accepts the following qualifiers:   
 	/INTERVAL$ 		time, in seconds, between updates. 		default=60  	 	/DEVICES - 		one or more disk devices to be monitored.      	/FILE_COUNT? 		the number of files, with both the most accesses and the ones A 		that incurred the most split I/O operations within the interval  		time period. 		default=10   Sample command: , 	$ epm/dev=(dka300,dka100)/file=25/inter=120  D 	collects statistics for DKA300 and DKA100, 25 file entries for bothG 	most accessed and highest split I/O counts, updates display once every 
 	two minutes.      BUILD INSTRUCTIONS:   + To create the .EXE files use the following:   3 $! BUILD_EPM.COM 	Creates EPM.EXE and EPMDRIVER.EXE  $!	 $cc   EPM  $link EPM, sys$input/opt sys$share:vaxcrtl/share  $  $mac  EPMDRIVER  $link EPMDRIVER, sys$input/opt base = 0 sys$system:sys.stb/select  $    To load EPMDRIVER into memory:    $! LOAD_EPM.COM 	Loads EPMDRIVER $! substitute dev:[directory] 
 $MC SYSGEN LOAD dev:[directory]EPMDRIVER % CONN EPMA0/NOADAPTER/DRIVER=EPMDRIVER  $   O To execute EPM, add the following command to your LOGIN.COM file or execute it   at DCL:    $SET COMMAND dev:[directory]EPM   " EPM is now available as a command.  G Sample output using command "epm/dev=(dka300,dka100)/file=25/inter=120"     ( Disk DKA300 Statistics as of 15:47:06.17  1  Writes:	Reads:  	Swapper: 	Paging I/O	Split I/O  /       4  	    169  	      0  	    112  	      5 /  1 Block	4 Blocks	16 Blocks	32 Blocks	64 Blocks /      76  	     52  	     38  	      7  	      0       DKA300 Split I/O Statistics Count   File Name :       3	DISK$LOKI_0:[SYSCOMMON.SYSLIB]DECW$DWTLIBSHR.EXE;12       2	DISK$LOKI_0:[SYSCOMMON.SYSEXE]SYSGEN.EXE;2  '    DKA300 Most Accessed File Statistics  Count  File Name4      13	DISK$LOKI_0:[SYSCOMMON.SYSEXE]LOGINOUT.EXE;35       8	DISK$LOKI_0:[SYSCOMMON.SYSEXE]DIRECTORY.EXE;2 %       1	DISK$LOKI_0:[000000]EAH.DIR;1 0      12	DISK$LOKI_0:[SYSCOMMON.SYSEXE]TYPE.EXE;2!       6	DISK$LOKI_0:[EAH]FONT.C;1 2      12	DISK$LOKI_0:[SYSCOMMON.SYSEXE]SYSUAF.DAT;76      16	DISK$LOKI_0:[SYSCOMMON.SYSEXE]RIGHTSLIST.DAT;1(       2	DISK$LOKI_0:[000000]INDEXF.SYS;13       2	DISK$LOKI_0:[SYSCOMMON.SYSMGR]SYLOGIN.COM;2 /       8	DISK$LOKI_0:[SYSCOMMON.SYSEXE]SET.EXE;2 4       4	DISK$LOKI_0:[SYSCOMMON.SYSLIB]UVMTHRTL.EXE;23      19	DISK$LOKI_0:[SYSCOMMON.SYSLIB]VAXCRTL.EXE;2 @       6	DISK$LOKI_0:[SYSCOMMON.SYSEXE]DECW$TERMINAL_CREATE.EXE;1:       9	DISK$LOKI_0:[SYSCOMMON.SYSLIB]DECW$DWTLIBSHR.EXE;1A       1	DISK$LOKI_0:[SYSCOMMON.SYSLIB]DECW$TRANSPORT_COMMON.EXE;1 8       3	DISK$LOKI_0:[SYSCOMMON.SYSLIB]DECW$XLIBSHR.EXE;1<       7	DISK$LOKI_0:[SYSCOMMON.SYSLIB]DECW$TERMINALSHR.EXE;12      19	DISK$LOKI_0:[SYSCOMMON.SYSEXE]SYSGEN.EXE;22       1	DISK$LOKI_0:[SYSCOMMON.SYSLIB]SCRSHR.EXE;10      15	DISK$LOKI_0:[SYS0.SYSEXE]VAXVMSSYS.PAR;1/       1	DISK$LOKI_0:[SYSCOMMON.SYSEXE]TPU.EXE;2 2       3	DISK$LOKI_0:[SYSCOMMON.SYSLIB]TPUSHR.EXE;26       3	DISK$LOKI_0:[SYSCOMMON.SYSLIB]TPU$CCTSHR.EXE;2  ( Disk DKA100 Statistics as of 15:47:06.17  1  Writes:	Reads:  	Swapper: 	Paging I/O	Split I/O  /      34  	     73  	      4  	     59  	     41 /  1 Block	4 Blocks	16 Blocks	32 Blocks	64 Blocks /      35  	     21  	     12  	     39  	      0       DKA100 Split I/O Statistics Count   File Name *      35	DISK$LOKI_1:[EAH]EVE$SECTION.TPU;1+       3	DISK$LOKI_1:[SYSPAGE]PAGEFILE.SYS;1 %       3	DISK$LOKI_1:[EAH]RFC854.TXT;2   '    DKA100 Most Accessed File Statistics  Count   File Name $       2	DISK$LOKI_1:[EAH]LOGIN.COM;4%       8	DISK$LOKI_1:[EAH]VERIFY.EXE;3 %       1	DISK$LOKI_1:[000000]EAH.DIR;1 *      53	DISK$LOKI_1:[EAH]EVE$SECTION.TPU;1(      20	DISK$LOKI_1:[000000]INDEXF.SYS;1%       5	DISK$LOKI_1:[EAH]RFC854.TXT;1 +       4	DISK$LOKI_1:[SYSPAGE]PAGEFILE.SYS;1 %       8	DISK$LOKI_1:[EAH]RFC854.TXT;2      KNOWN PROBLEMS:   - Currently there are no known bugs in EPM V1.3     
 RESTRICTIONS:   M EPM has never been tested on a shadow set disk and, therefore, contains code  L to prevent monitoring of a disk that is a shadow set member.  Any site that N cares to test EPM in that environment can remove the checks in the EPM_COLLECTK routine in EPMDRIVER.MAR.  Multiple copies of EPM can be run simultaneously @ but a disk can only be monitored by one copy of EPM at any time.  