Enable accounting and view system usage statistics

Author: name contact BSD flavour

Reviewer: name contact BSD flavour

Reviewer: Brett Mahar brett.maharATgmailDOTcom OpenBSD


Concept

Be aware of when it is appropriate to enable system accounting, recognize which utilities are available to do so, and know how to view the resulting statistics.

Introduction

The kernel keeps track of various attributes of all processes and, when system accounting (((accounting))) (((system accounting))) is enabled, this information is saved when the process terminates. The accounting information includes the command name, the starting time, the amount of time used by the system and the user (TODO: explain that), the elapsed time, the user ID and group ID, the average amount of memory used, the count of I/O operations, and the terminal (((terminal))) (tty) (((tty))) where the process was started. The accounting also records if the process was forked without replacing the parent process (exec) and how the process was terminated (such as with core dump or killed by a signal).

The system accounting is enabled by running the accton command with the path to the file to store the data as the argument, commonly at /var/account/acct.

System accounting is turned off by running accton without any arguments.

When accounting is enabled, the lastcomm command will show recent commands, inreverse chronological order. Arguments can be added to filter this information by user, terminal, or command name (see man page).

For OpenBSD, accton is enabled at boot time by changing the parameter in /etc/rc.conf.local to accounting=YES.

NetBSD uses the same variable, but in the file /etc/rc.conf.

Both DragonflyBSD and FreeBSD use the accounting_enable variable in /etc/rc.conf.

TODO: show example of data; show examples of sa, ac, accton, lastcomm

TODO: not the same, but also cover "last"

Examples

Practice Exercises

More information

ac(8), sa(8), accton(8), lastcomm(1), last(1)