Using the `sa` Command to Summarize Accounting Information (with examples)
- Linux
- November 5, 2023
The sa
command is part of the acct
package and is used to summarize accounting information on a Unix-like system. It provides valuable insights into the commands called by users, CPU time spent processing, and input/output rates. In this article, we will explore different use cases of the sa
command along with their code examples, motivations, explanations for every argument, and example outputs.
Display executable invocations per user (username not displayed)
sudo sa
Motivation:
You may want to analyze the executables invoked by users on your system without revealing their usernames for privacy or security reasons. This command allows you to anonymously view this information.
Explanation:
The sudo
command is used to execute sa
with superuser privileges. The sa
command, in its simplest form, displays a summary of accounting information for all users, including the number of invocations of each executable and the total CPU time and I/O rates associated with those invocations.
Example Output:
7 3700.00re 7720.00cp 0avio 12.85avk-wait 23.82
Display executable invocations per user, showing responsible usernames
sudo sa --print-users
Motivation:
If you want to get a detailed overview of the executables invoked by users on your system along with the corresponding usernames, this command provides the necessary information.
Explanation:
By including the --print-users
argument, the sa
command will print out the usernames responsible for the invoked executables, in addition to the summary information from the previous use case.
Example Output:
28 1000.00re 2000.00cp 0avio 10.00avk-wait 19.12
bw 7 3700.00re 7720.00cp 0avio 12.85avk-wait 23.82
List resources used recently per user
sudo sa --user-summary
Motivation:
To track the resource utilization of individual users on your system, this command provides a concise summary of the resources used by each user over a specified time period.
Explanation:
The --user-summary
argument allows the sa
command to display a summary of resources used recently by each user. This includes CPU time spent by each user, the number of I/O operations performed, and the average wait time for these operations.
Example Output:
**** 29.00 cpu ****
28 1000.00re 2000.00cp 0avio 10.00avk-wait 19.12
bw 7 3700.00re 7720.00cp 0avio 12.85avk-wait 23.82
Conclusion
The sa
command is a useful tool for summarizing accounting information on a Unix-like system. It allows you to gain insights into the commands executed by users, CPU time spent processing, and I/O rates. By understanding and utilizing the different options available, such as anonymous summaries and user-specific resource tracking, system administrators can effectively monitor and analyze system activity.
Whether you need to maintain user privacy, obtain detailed information with usernames, or track individual user resource utilization, the sa
command provides the necessary functionality.