Spooler Utilities Reference Manual
Spoolcom
Spooler Utilities Reference Manual—522295-003
4-15
COLLECT Command
File space usage efficiency is affected by the UNIT size setting if it is significantly
larger than the average job size. Since the collector file is not limited by the
number of units and UNIT allocation is very efficient, it is recommended that UNIT
be set to 4 unless jobs average much less than 4K.
The collector uses both the collection file buffer size and its UNIT size to establish
the size of the buffers it uses in job collection for each opener. File buffer size is
established when a file is created (but can be altered later). Up to 4K buffers can
be applied to the collector for each opener. The virtual memory used for the buffers
is obtained from the Kernel Managed Storage Facility (KMSF).
The collector establishes the buffer size when it is started. It operates with its
collection file only if at least one of the following is true:
UNIT size (bytes) is a whole multiple of the buffer size.
Buffer size is a whole multiple of the UNIT size (bytes).
If a file that had previously been used by the collector is no longer usable because
of a changed buffer size, correction involves establishing a buffer size that obeys at
least one of these rules and then restarting the collector. Unless extraordinary file
space or virtual memory concerns dominate the decision, it is recommended that
the file buffer size be set to 4K and the UNIT setting be a whole multiple of 4.
You declare a collector by specifying $process-name and initialize it by
specifying its other attributes. You can do this with a single COLLECT command,
or you can use multiple commands.
A call to DEVICEINFO or DEVICEINFO2 returns a device subtype even for a
process. The subtype returned for the spooler collector is 31.
The spooler collector does not allow WRITEREADs with read counts greater than
zero.
The job numbers returned by LISTOPENS are not necessarily in sequential order,
because they are not stored sequentially in the collector.
Avoid using the name CSPOOL for any purposes other than as the value for
program-file-name for the collector.
When the collector first initializes its collector file, it determines the file’s primary,
secondary, and maxextent sizes and expands the file to its maximum possible size
during initialization. It will then create as many units as will fit into this expanded
size and write an end-of-file (EOF) mark at the end of the maximum size.