---
title: "Using the Arm VM execution environment"
description: "Learn how to configure a your jobs to run in the Arm VM execution environment."
platform: "Cloud, Server"
doc_version: "Server"
last_updated: "2026-10-26"
---

> For current CircleCI product defaults, deprecated patterns, and Cloud/Server differences, see [AGENTS.md](https://circleci.com/docs/AGENTS.md).
>
> For the complete documentation index and site structure, see [llms.txt](https://circleci.com/docs/llms.txt).

# Using the Arm VM execution environment

You can access the Arm VM (virtual machine) execution environment for a job by using the machine executor and specifying a Linux virtual machine image that includes Arm resources. You then specify an Arm resource class.

<Tabs>
<Tab title="Cloud">

```yaml
# .circleci/config.yml
jobs:
  my-job:
    machine:
      image: ubuntu-2404:current
    resource_class: arm.medium
    steps:
      - run: uname -a
      - run: echo "Hello, Arm!"
```

</Tab>
<Tab title="Server">

```yaml
# .circleci/config.yml
jobs:
  my-job:
    machine:
      image: arm-default
    resource_class: arm.medium
    steps:
      - run: uname -a
      - run: echo "Hello, Arm!"
```

</Tab>
</Tabs>

## Available resource classes

The following Arm resources are available as part of the `machine` executor:

### Gen1

| Class | vCPUs | RAM | Disk Size | Cloud | Server |
| --- | --- | --- | --- | --- | --- |
| `arm.medium` (default) | 2 | 8GB | 100 GB | **Yes** | **Yes** |
| `arm.large` | 4 | 16GB | 100 GB | **Yes** | **Yes** |
| `arm.xlarge` | 8 | 32GB | 100 GB | **Yes** | **Yes** |
| `arm.2xlarge` | 16 | 64GB | 100 GB | **Yes** | **Yes** |

**Using server?** Check with your systems administrator whether you have access to the Arm execution environment.

### View resource usage

To view the compute resource usage for the duration of a job in the CircleCI web app:

1.  In the CircleCI web app, select your org from the org cards on your user homepage.
    
2.  Select **Pipelines** from the sidebar and locate your pipeline from the list. You can use the project, branch, date, and status search options to help.
    
3.  Select the job you want to access by selecting the job name.
    
4.  Select the **Resources** tab to view CPU and RAM usage for the duration of the job.
    

You can use these insights to decide whether to make changes to the job’s configured resource class.

> **Image:** Resources tab

Figure 1. Resources tab in web app for a job

## Images with Arm support

Arm resources are accessible by using the machine executor with the `arm-default` image.

## Limitations

*   CircleCI supports only 64-bit `arm64` architectures.
    
*   Arm resources are only available when using the EC2 provider for VM service or machine provisioner. No Arm instances are available in GCP.