-*-Text-*-

File: DSKUSE	Node: Top	Up: (DIR)	Next: Normal

DSKUSE INFO

	DSKUSE is a program for gathering and printing information
about the disk system.

* Menu:

* Normal::	The standard way to run DSKUSE
* Directory::	An explanation of the various things DSKUSE returns when
                applied to a single directory
* Disk::	Similar to above; what DSKUSE returns when applied to the
                disk system


File: DSKUSE,    Node: Normal,   Previous: Top, Up: Top, Next: Directory

DSKUSE is usually driven by a command from its JCL line, as follows:

:DSKUSE user	statistics on the user directory given, or the XUNAME
		directory if no argument.
:DSKUSE > user	print message if XUNAME user (or user given explicitly)
		is over quota, else nothing.

:DSKUSE @ file	statistics on all users output to TPL:, or to file
		if given.
:DSKUSE & file	output two tables, sorted on user and blocks, to TPL:
		or to file if given.

:DSKUSE #	general statistics on disk system (takes time).
:DSKUSE $	same as previous, only less detailed (faster, too).

:DSKUSE % user  Gives percent of directory space used by user.

:DSKUSE *	statistics on all users, in tabular form.
		this command is special in that it leaves you in DSKUSE.
		you may type the number or name of a column to sort by
		that column and then reprint the table (0 or USER, 1 or
		FILES, etc.).  in this mode the @ command, with a file
		name optionally following it, causes subsequent sorts
		to go to the file.  the commands #, %, and > are not
		available.  The dual sort (& or BOTH) is, however.


File: DSKUSE, Node: Directory,  Previous: Normal, Up: Top, Next: Disk

Details of DSKUSE Data Collection and Printing

Quotas and Allocations:

	In the sections which follow, the idea of a "non-quota'ed"
system is occasionally used.  DSKUSE understands this to mean a system
on which the total number of blocks allocated and quota'ed is zero.
Currently all ITS's have the software for quotas and allocations, but
only the DM system uses it.  DSKUSE should do the right thing if any
of the other ITS's start actually using quotas and allocations.

Single directory information:

	For each directory covered by DSKUSE, seven pieces of information
are stored.  These are:

1) the directory name,
2) the number of files in the directory,
3) the number of links in the directory (note that these two numbers
   total to the number of "files" in the directory, ie:  the number of
   lines you will see if you list it).
4) the number of blocks used by files in the directory (this is gotten
   from the appropriate word in the directory, rather than by calculating
   it as was done in the past -- a considerable speedup).
5) the average number of blocks per file in the directory (a floating
   point number, obviously).
6) the directory's quota of blocks (the maximum number of blocks it
   can have without danger of some being reaped).  Currently only disk
   directories on DM have non-zero quotas.
7) the directory's allocation of blocks (the maximum number of blocks
   the directory can have without IOC).  Currently only directories on
   DM have non-zero allocations.

	The preceding is all that is needed to print the table of
user/directory information that makes up the standard :DSKUSE or the
body of the full-scale :DSKUSE &.
	A sample single user DSKUSE follows:

:DSKUSE .INFO.

User            .INFO.
Files           83
Links           23
Blocks          366
Quota           400
Free Blocks
 Unallocated    638
 Allocated      10618 of 41988
Average User    214

Note that the "Free Blocks" lines are for a system with quotas.  On a
non-quota'ed system it would be only one line and the "Quota" line
would not exist.


File: DSKUSE, Node: Disk, Previous: Directory, Up: Top

Disk System Information:

	The information printed by a :DSKUSE # is in two sections.  The
first is a series of summary lines about the state of the disk system
when the DSKUSE was run.  The second section is a table of information
with one column for each disk pack.

	The summary section varies depending upon how much information
is available when it is printed.  In any case it prints summaries of
the number of directories on the system, the number of disks in the
system, their total size in blocks, how many blocks are free, and how
heavily the swapping allocations on those packs are being used.

	A sample :DSKUSE # follows.  Note that some of the information
in the first section is dependent on the system having quotas.  On a
non-quota system it would not appear.  The section containing tabular
information on each disk drive would not appear in a :DSKUSE %.  Also,
of course, the lines of the table dealing with quotas and allocations
would not appear on a non-quota system.

:DSKUSE #

Total number of users is 146, 103 with quotas, 35 with allocations
Over quota:  23 users, 3716 blocks, average excess 161 blocks each
Average blocks per user 218, per quota'ed user 170, per allocated user 335
Free disk blocks:  372 unallocated, 10080 allocated
Disk system contains 6 disks, 41988 blocks
Free swapping blocks: 1531 out of 1800

Drive		DK0:	DK1:	DK2:	DK3:	DK4:	DK5:	

Pack #		    17	    18	    19	    20	    21	    22	
Disk size	 10000	 10000	 10000	  5000	  5000	  5000	

Available	  9498	  9498	  9498	  4498	  4498	  4498	
Allocated	     0	 12400	  6900	  4650	     0	     0	
Free space	    95	  3474	  5401	  1205	   181	    96	

Swap area	   300	   300	   300	   300	   300	   300	
Free swap area	   254	   265	   262	   252	   250	   248	


	Finally, a :DSKUSE * or @ or & contains takes of users in
approximately the following format:


USER	Files	Links	Blocks	Quota	Alloc	B/F
----

AC	  16	   2	  184	  200		11.5
AGJ	  28	   5	   58	  200		2.07

etc.,etc.

Note that whenever such a table is output the column by which it is
sorted is underlined.  The "Quota" and "Alloc" columns do not appear
on non-quota'ed systems.

	A :DSKUSE & is the most complete in terms of information output
as it combines the data from the :DSKUSE # and the :DSKUSE *.

:DSKUSE &

DM DISK USAGE by PDL at 13:33:28 on 2/21/76

<information from :DSKUSE #>

<table from :DSKUSE @, sorted on user>   <same table sorted on blocks>
