Skip to content

Downgrade warning for NUMA nodes without CPUs (valid Linux topology) #3828

@bon77

Description

@bon77

On my aarch64 architecture node (RaspberryPi) I get the following warning:

alloy[669]: ts=2026-01-24T22:30:39.860434727Z level=warn msg="Found node without any CPU, nodeDir: /sys/devices/system/node/node1, number of cpuDirs 0, err: <nil>" component_path=/ component_id=prometheus.exporter.cadvisor.integrations_cadvisor func=Warningf

I think the issue is that on ARM systems, Linux may expose NUMA node directories that only contain cpulist / cpumap files and no per-CPU directories.

I suggest to change the code from klog.Warning to a lower log level or to change the logic to also work with this cpu setup.

Additional info about this specific CPU:

 $ uname -m
aarch64
 $ cat /proc/cpuinfo | grep -m1 "CPU architecture"
CPU architecture: 8
 $ ls -1d /sys/devices/system/node/node*
/sys/devices/system/node/node0
/sys/devices/system/node/node1
 $ for n in /sys/devices/system/node/node*; do
>   echo "== $n =="
>   ls "$n" | grep '^cpu' || echo "(no CPUs)"
> done
== /sys/devices/system/node/node0 ==
cpu0
cpu1
cpu2
cpu3
cpulist
cpumap
== /sys/devices/system/node/node1 ==
cpulist
cpumap
 $ for c in /sys/devices/system/cpu/cpu*/topology/physical_package_id; do
>   echo "$c: $(cat "$c")"
> done
/sys/devices/system/cpu/cpu0/topology/physical_package_id: 0
/sys/devices/system/cpu/cpu1/topology/physical_package_id: 0
/sys/devices/system/cpu/cpu2/topology/physical_package_id: 0
/sys/devices/system/cpu/cpu3/topology/physical_package_id: 0
 $ cat /sys/devices/system/cpu/cpu0/topology/numa_node
cat: /sys/devices/system/cpu/cpu0/topology/numa_node: No such file or directory

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions