--- layout: "docs" page_title: "resources Stanza - Job Specification" sidebar_current: "docs-job-specification-resources" description: |- The "resources" stanza describes the requirements a task needs to execute. Resource requirements include memory, network, cpu, and more. --- # `resources` Stanza
Placement |
job -> group -> task -> **resources**
|
---|
([Network][]: <optional>)
- Specifies the network
requirements, including static and dynamic port allocations.
- `device` ([Device][]: <optional>)
- Specifies the device
requirements. This may be repeated to request multiple device types.
## `resources` Examples
The following examples only show the `resources` stanzas. Remember that the
`resources` stanza is only valid in the placements listed above.
### Memory
This example specifies the task requires 2 GB of RAM to operate. 2 GB is the
equivalent of 2000 MB:
```hcl
resources {
memory = 2000
}
```
### Network
This example shows network constraints as specified in the [network][] stanza
which require 1 Gbit of bandwidth, dynamically allocates two ports, and
statically allocates one port:
```hcl
resources {
network {
mbits = 1000
port "http" {}
port "https" {}
port "lb" {
static = "8889"
}
}
}
```
### Devices
This example shows a device constraints as specified in the [device][] stanza
which require two nvidia GPUs to be made available:
```hcl
resources {
device "nvidia/gpu" {
count = 2
}
}
```
[network]: /docs/job-specification/network.html "Nomad network Job Specification"
[device]: /docs/job-specification/device.html "Nomad device Job Specification"