---
layout: docs
page_title: 'Commands: system gc'
description: |
  Run the system garbage collection process.
---

# Command: system gc

Initializes a garbage collection of jobs, evaluations, allocations, and nodes.
This is an asynchronous operation.

Nomad periodically garbage collects jobs, evaluations, allocations, and nodes.
The exact garbage collection logic varies by object, but in general Nomad only
permanently deletes objects once they are terminal and no longer needed for
future scheduling decisions. See [`gc` related server agent configuration
parameters][gc_params] for details on tuning periodic garbage collection.

[gc_params]: /nomad/docs/configuration/server#node_gc_threshold

The `system gc` command bypasses these settings and immediately attempts to
garbage collect dead objects regardless of any "threshold" or "interval" server
settings. This is useful to quickly free memory on servers running low, but
users should prefer tuning periodic garbage collection parameters to meet their
needs instead of relying on manually running `system gc`.

## Usage

```plaintext
nomad system gc [options]
```

If ACLs are enabled, this option requires a management token.

## General Options

@include 'general_options_no_namespace.mdx'

## Examples

Running the system gc command does not output unless an error occurs:

```shell-session
$ nomad system gc

```
