z/OS UNIX file system space usage

Most of the z/OS® Explorer related data that is not written to a DD statement ends up in a z/OS UNIX file. The system programmer has control over which data is written and where it goes. However, there is no control over the amount of data written.

The data can be grouped in the following categories:
As documented in Troubleshooting configuration problems, z/OS Explorer writes the RSE-related host logs to the following z/OS UNIX directories:
  • /var/zexpl/logs/server for the RSE started task logs
  • /var/zexpl/logs/$LOGNAME for user logs

By default, only error and warning messages are written to the logs. So if all goes as planned, these directories should hold only empty or nearly-empty files (not counting audit logs).

You can enable logging of informational messages, preferably under direction of the IBM® support center, which increases the size of log files noticeably.

Figure 1. z/OS UNIX file system space usage
startup

$ ls –l /var/zexpl/logs/server
total 144
–rw–rw–rw–   1 STCRSE   STCGRP     33642 Jul 10 12:10 rsedaemon.log
–rw–rw–rw–   1 STCRSE   STCGRP      1442 Jul 10 12:10 rseserver.log

logon

$ ls –l /var/zexpl/logs/server
total 144
–rw-------   1 STCRSE   STCGRP     36655 Jul 10 12:11 rsedaemon.log
–rw-------   1 STCRSE   STCGRP      1893 Jul 10 12:11 rseserver.log
$ ls –l /var/zexpl/logs/IBMUSER
total 160
–rw-------   1 IBMUSER  SYS1        3459 Jul 10 12:11 ffs.log
–rw-------   1 IBMUSER  SYS1           0 Jul 10 12:11 ffsget.log
–rw-------   1 IBMUSER  SYS1           0 Jul 10 12:11 ffsput.log
–rw-------   1 IBMUSER  SYS1         303 Jul 10 12:11 ffslock.log
–rw-------   1 IBMUSER  SYS1        7266 Jul 10 12:11 rsecomm.log

logoff
$ ls –l /var/zexpl/logs/server
total 80
–rw-------   1 STCRSE   STCGRP     36655 Jul 10 12:11 rsedaemon.log
–rw-------   1 STCRSE   STCGRP      2208 Jul 10 12:11 rseserver.log
$ ls –l /var/zexpl/logs/IBMUSER
total 296
–rw-------   1 IBMUSER  SYS1        6393 Jul 10 12:11 ffs.log
–rw-------   1 IBMUSER  SYS1           0 Jul 10 12:11 ffsget.log
–rw-------   1 IBMUSER  SYS1           0 Jul 10 12:11 ffsput.log
–rw-------   1 IBMUSER  SYS1         609 Jul 10 12:11 ffslock.log
–rw-------   1 IBMUSER  SYS1       45157 Jul 10 12:11 rsecomm.log

stop

$ ls –l /var/zexpl/logs/server
total 80
–rw-------   1 STCRSE   STCGRP     36655 Jul 10 12:11 rsedaemon.log
–rw-------   1 STCRSE   STCGRP      2490 Jul 10 12:12 rseserver.log
Figure 1 shows the minimal z/OS UNIX file system space usage when using debug level 2 (informational messages).
  • The started task logs use 34 KB after startup and grow slowly when users log on, log off, or operator commands are issued.
  • A client log directory uses 11 KB after logon and grows at a steady pace when the user starts working (not shown in the sample).
  • Logoff adds another 40 KB to the user logs, bringing them to 51 KB.

Except for audit logs, log files are overwritten on every restart (for the RSE started task) or logon (for a client), keeping the total size in check. Audit logs are removed after the interval specified in audit.retention.period expires. The keep.last.log directive in rse.env changes this slightly, as it can instruct RSE to keep a copy of the previous logs. Older copies are always removed. If the keep.all.logs directive in rse.env is enabled, all logs have a timestamp appended to their name and the files are removed after the interval specified in log.retention.period expires.

A warning message is sent to the console when the file system holding the log files is running low on free space. This console message (FEK103E) is repeated regularly until the low space issue is resolved. When the file system runs out of space, RSE will attempt to delete existing log files to free up space. Audit logs are not touched by this process.

The definitions in Table 1 control which data is written to the log directories, and where the directories are located.
Table 1. Log output directives
Location Directive Function
rescomm.properties debug_level Set the default log detail level.
rsecomm.properties USER Enable debug_level 2 for specified users.
rse.env keep.all.logs Keep a copy of the previous logs before startup/logon.
rse.env keep.last.log Keep a copy of the previous logs before startup/logon.
rse.env enable.audit.log Keep an audit trace of client actions.
rse.env enable.standard.log Write the stdout and stderr streams of the thread pool (or pools) to a log file.
rse.env DSTORE_TRACING_ON Enable DataStore action logging.
rse.env DSTORE_MEMLOGGING_ON Enable DataStore memory usage logging.
Operator command modify rsecommlog <level> Dynamically change the log detail level of rsecomm.log
Operator command modify rsedaemonlog <level> Dynamically change the log detail level of rsedaemon.log
Operator command modify rseserverlog <level> Dynamically change the log detail level of rseserver.log
Operator command modify rsestandardlog {on|off} Dynamically change the updating of std*.*.log
Operator command modify trace {on|off} USER=userid Enable debug_level 2 for specified users.
Operator command modify trace {on|off} SERVER=pid Enable debug_level 2 for specified users.
Operator command modify trace clear Disable trace setup.
Operator command modify logs Collect host logs and setup information
rse.env daemon.log Home path for RSE started task and audit logs.
rse.env user.log Home path for user logs.
rse.env CGI_ISPWORK Home path for ISPF Gateway logs
rse.env TMPDIR Directory for IVP logs and modify logs operator command
rse.env _CEE_DMPTARG Directory for Java™ dumps

z/OS Explorer, together with requisite software such as the Legacy ISPF Gateway, also writes temporary data to /tmp and /var/zexpl/WORKAREA. The amount of data written here as a result of user actions is unpredictable, so you should have ample free space in the file systems holding these directories.

z/OS Explorer always tries to clean up these temporary files, but manual cleanup, as documented in "(Optional) WORKAREA and /tmp cleanup" in the Host Configuration Guide (SC27-8437), can be performed at virtually any time.

The definitions in Table 2 control where temporary data directories are located.
Table 2. Temporary output directives
Location Directive Function
rse.env CGI_ISPWORK Home path for temporary data.
rse.env TMPDIR Directory for temporary data.