Cpu measurement issue of nomad arm64 client

hi
I always seem to bring unique issues.
I am using nomad, and this time I have an arm64 client, and I am leaving a question because there is something strange.

Below is my cpu info.(/proc/cpuinfo)

processor       : 18
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 19
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 20
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 21
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 22
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 23
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

And the following is the client information confirmed in nomad ui.
nomad_client

My client is 24 core and only getting up to 1000.
I want to test more nomad clients, but I’ve hit this wall.

Any advice would be appreciated.

Hi @swbs90, it is not possible to get this information from Nomad because the ARM kernel developers do not expose the information needed. See CPU utilization shows 0 MHz on ARM servers · Issue #14055 · hashicorp/nomad · GitHub for more details.

1 Like

I use the following for setting up the cpu_total_compute manually for arm64 machines:

current_speed=$(dmidecode -t 4 | grep 'Current Speed:' | awk '{print $3}')
cpu_count=$(cat /proc/cpuinfo | grep 'processor' | wc -l)
CPU_TOTAL_COMPUTE=$(( $current_speed * $cpu_count ))

… and then in the client section setup the field cpu_total_compute

2 Likes

hi shantanugadgil.
Solved with the cpu_total_compute method.
Your method was awesome!

I can post a lot of jobs on my new equipment with this.

thank you

1 Like

To be fair, it was from here:

and …

1 Like