.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/usr.sbin/sa/sa.8,v 1.15 2002/07/14 14:46:01 charnier Exp $
+.\" $FreeBSD: src/usr.sbin/sa/sa.8,v 1.20 2007/05/18 12:36:10 dds Exp $
.\"
-.Dd February 25, 1994
+.Dd May 18, 2007
.Dt SA 8
.Os
.Sh NAME
.Sh SYNOPSIS
.Nm
.Op Fl abcdDfijkKlmnqrstu
+.Op Fl P Ar file
+.Op Fl U Ar file
.Op Fl v Ar cutoff
.Op Ar
.Sh DESCRIPTION
.Pa /var/account/acct .
After each file is read, if the summary
files are being updated, an updated summary will
-be saved to disk. Only one report is printed,
+be saved to disk.
+Only one report is printed,
after the last file is processed.
.Pp
The labels used in the output indicate the following, except
.Bl -tag -width Ds
.It Fl a
List all command names, including those containing unprintable
-characters and those used only once. By default,
+characters and those used only once.
+By default,
.Nm
places all names containing unprintable characters and
those used only once under the name ``***other''.
for each command, print their percentage of the total over all commands.
.It Fl d
If printing command statistics, sort by the average number of disk
-I/O operations. If printing user statistics, print the average number of
+I/O operations.
+If printing user statistics, print the average number of
disk I/O operations per user.
.It Fl D
If printing command statistics, sort and print by the total number
Instead of the total minutes per category, give seconds per call.
.It Fl k
If printing command statistics, sort by the cpu-time average memory
-usage. If printing user statistics, print the cpu-time average
+usage.
+If printing user statistics, print the cpu-time average
memory usage.
.It Fl K
If printing command statistics, print and sort by the cpu-storage integral.
Print per-user statistics rather than per-command statistics.
.It Fl n
Sort by number of calls.
+.It Fl P Ar file
+Use the specified
+.Ar file
+for accessing the per-command accounting summary database,
+instead of the default
+.Pa /var/account/savacct .
.It Fl q
Create no output other than error messages.
.It Fl r
of user and system cpu times.
If the cpu time is too small to report, ``*ignore*'' appears in
this field.
+.It Fl U Ar file
+Use the specified
+.Ar file
+for accessing the per-user accounting summary database,
+instead of the default
+.Pa /var/account/usracct .
.It Fl u
Superseding all other flags, for each entry
in the accounting file, print the user ID, total seconds of cpu usage,
For each command used
.Ar cutoff
times or fewer, print the command name and await a reply
-from the terminal. If the reply begins with ``y'', add
-the command to the category ``**junk**''. This flag is
+from the terminal.
+If the reply begins with ``y'', add
+the command to the category ``**junk**''.
+This flag is
used to strip garbage from the report.
.El
.Pp
-By default, per-command statistics will be printed. The number of
+By default, per-command statistics will be printed.
+The number of
calls, the total elapsed time in minutes, total cpu and user time
in minutes, average number of I/O operations, and CPU-time
-averaged core usage will be printed. If the
+averaged core usage will be printed.
+If the
.Fl m
option is specified, per-user statistics will be printed, including
the user name, the number of commands invoked, total cpu time used
(in minutes), total number of I/O operations, and CPU storage integral
-for each user. If the
+for each user.
+If the
.Fl u
option is specified, the uid, user and system time (in seconds),
CPU storage integral, I/O usage, and command name will be printed
.Fl u
flag is specified, all flags other than
.Fl q
-are ignored. If the
+are ignored.
+If the
.Fl m
flag is specified, only the
.Fl b ,
and
.Fl s
flags are honored.
-.Sh DIAGNOSTICS
-.Ex -std
.Sh FILES
.Bl -tag -width /var/account/usracct -compact
.It Pa /var/account/acct
.It Pa /var/account/usracct
per-user accounting summary database
.El
+.Sh EXIT STATUS
+.Ex -std
.Sh SEE ALSO
.Xr lastcomm 1 ,
.Xr acct 5 ,
.Xr ac 8 ,
.Xr accton 8
-.Sh BUGS
-The number of options to this program is absurd, especially considering
-that there's not much logic behind their lettering.
-.Pp
-The field labels should be more consistent.
-.Pp
-The VM system does not record the CPU storage integral.
.Sh CAVEATS
While the behavior of the options in this version of
.Nm
was modeled after the original version, there are some intentional
-differences and undoubtedly some unintentional ones as well. In
+differences and undoubtedly some unintentional ones as well.
+In
particular, the
.Fl q
option has been added, and the
format has changed as well (since user ids are now 32 bits).
.Sh AUTHORS
.An Chris G. Demetriou Aq cgd@postgres.berkeley.edu
+.Sh BUGS
+The number of options to this program is absurd, especially considering
+that there is not much logic behind their lettering.
+.Pp
+The field labels should be more consistent.
+.Pp
+The VM system does not record the CPU storage integral.