Skip to content

client: CPU incorrectly fingerprinted on M4 Mac #26138

Open
@jrasell

Description

@jrasell

Tested with Nomad v1.10.2

When running an agent on macOS (15.5) with an Apple M4 chip, Nomad fingerprints the host (at least in my example) to have 28Mhz of CPU, which is incorrect. Memory and Disk are correctly fingerprinted. I was able to produce this using a dev agent.

$ nomad node status -verbose -self
ID              = bb2d3082-d1ce-48c8-19f0-4f762abbd9aa
Name            = icarus2.local
Node Pool       = default
Class           = <none>
DC              = dc1
Drain           = false
Eligibility     = eligible
Status          = ready
CSI Controllers = <none>
CSI Drivers     = <none>
Uptime          = 24h8m18s

Drivers
Driver       Detected  Healthy  Message                               Time
docker       false     false    Failed to connect to docker daemon    2025-06-24T21:45:40+01:00
exec         false     false    exec driver unsupported on client OS  2025-06-24T21:45:40+01:00
java         false     false    <none>                                2025-06-24T21:45:40+01:00
mock_driver  true      true     Healthy                               2025-06-24T21:45:40+01:00
qemu         false     false    <none>                                2025-06-24T21:45:40+01:00
raw_exec     true      true     Healthy                               2025-06-24T21:45:40+01:00

Node Events
Time                       Subsystem  Message          Details
2025-06-24T21:45:41+01:00  Cluster    Node registered  <none>

Allocated Resources
CPU       Memory      Disk         Alloc Count
0/28 MHz  0 B/32 GiB  0 B/856 GiB  0

Allocation Resource Utilization
CPU       Memory
0/28 MHz  0 B/32 GiB

Host Resource Utilization
CPU       Memory         Disk
4/28 MHz  16 GiB/32 GiB  70 GiB/926 GiB

Allocations
No allocations placed

Attributes
cpu.arch                          = arm64
cpu.frequency.efficiency          = 2
cpu.frequency.performance         = 4
cpu.modelname                     = Apple M4
cpu.numcores                      = 10
cpu.numcores.efficiency           = 6
cpu.numcores.performance          = 4
cpu.reservablecores               = 0
cpu.totalcompute                  = 28
cpu.usablecompute                 = 28
driver.mock_driver                = 1
driver.raw_exec                   = 1
kernel.arch                       = arm64
kernel.name                       = darwin
kernel.version                    = 24.5.0
memory.totalbytes                 = 34359738368
nomad.revision                    = 76e3c2961a1a4551cc36500ad5a9af0c8553f8e7
nomad.service_discovery           = true
nomad.version                     = 1.10.2-dev
os.name                           = darwin
os.signals                        = SIGTSTP,SIGHUP,SIGIOT,SIGTTOU,SIGUSR1,SIGUSR2,SIGXCPU,SIGABRT,SIGALRM,SIGILL,SIGIO,SIGPROF,SIGSEGV,SIGTTIN,SIGWINCH,SIGFPE,SIGQUIT,SIGSTOP,SIGTERM,SIGTRAP,SIGXFSZ,SIGNULL,SIGBUS,SIGCONT,SIGINT,SIGKILL,SIGPIPE,SIGSYS
os.version                        = 15.5
plugins.host_volume.mkdir.version = 0.0.1
unique.advertise.address          = 127.0.0.1:4646
unique.hostname                   = icarus2.local
unique.network.ip-address         = 127.0.0.1
unique.storage.bytesfree          = 918947504128
unique.storage.bytestotal         = 994662584320
unique.storage.volume             = /dev/disk3s5

Meta
connect.gateway_image                           = [docker.io/envoyproxy/envoy:v${NOMAD_envoy_version](http://docker.io/envoyproxy/envoy:v$%7BNOMAD_envoy_version)}
connect.log_level                               = info
connect.proxy_concurrency                       = 1
connect.sidecar_image                           = [docker.io/envoyproxy/envoy:v${NOMAD_envoy_version](http://docker.io/envoyproxy/envoy:v$%7BNOMAD_envoy_version)}
connect.transparent_proxy.default_outbound_port = 15001
connect.transparent_proxy.default_uid           = 101

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions