DSKUSE INFO PDL 2/20/76 Last updated: PDL 5/10/76 DSKUSE is a program for gathering and printing information about the disk system. 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. 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. 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