sacctmgr is a command-line tool that is used to manage Slurm accounts. Slurm is an open-source workload manager that is designed for high-performance computing (HPC) clusters and supercomputers. It is used to schedule, manage and monitor jobs running on a cluster.
The sacctmgr command allows system administrators to create, modify, and delete Slurm accounts. It also allows them to manage user access to these accounts, assign priorities, set up limits on resource usage, and perform other administrative tasks related to Slurm accounts. The command can be used to view detailed information about existing accounts, including their status, users associated with them, and the limits set for each account.
Using the sacctmgr command, system administrators can create and manage accounts on a per-project basis. Each account can have one or more users associated with it, and each user can be granted different levels of access to the account’s resources. This allows system administrators to allocate resources more efficiently and ensure that users have access to the resources they need to complete their work.
The sacctmgr command provides a flexible and customizable interface that allows system administrators to manage accounts in a variety of ways. For example, they can use the -a option to display information about all existing accounts, the -p option to display information about a specific project, and the -M option to assign a user to a specific account.
sacctmgr Command Examples
1. Show current configuration:
# sacctmgr show configuration
2. Add a cluster to the slurm database:
# sacctmgr add cluster cluster_name
3. Add an account to the slurm database:
# sacctmgr add account account_name cluster=cluster_of_account
4. Show details of user/association/cluster/account using a specific format:
# sacctmgr show user|association|cluster|account format="Account%10" format="GrpTRES%30"
Overall, sacctmgr is a powerful tool for managing Slurm accounts. It provides a comprehensive set of features that allow system administrators to allocate resources more efficiently, manage access to resources more effectively, and ensure that users have the resources they need to complete their work.