Constant CPU load average on Drive AGX Xavier

Hello, i have vanilla provisioned Drive AGX Xavier platform (DriveOS 5.1.6.1-16902563). I see constant ~2.6 load average. As was suggested in another topic, this can be related to processes in “D” (IO related) state. So far i see two such processes on both Xavier A nad B

> ps -aux | awk {'if ($8 ==  "D") print $0'}
root       237  0.0  0.0      0     0 ?        D    Mar19   0:00 [vq_polling_thre]
root       515  0.0  0.0      0     0 ?        D    Mar19   0:00 [gk20a]

> cat /proc/loadavg 
2.66 2.49 2.45 1/332 1515

I also see in top (and htop) that there is no constantly running process. Do you have any suggestions?

Hello roman48tdr,
In order to reproduce what you mention, can you describe what method you use to test the load average?

I order to reproduce what you mention, can you describe what method you use to test the load average?

I just use cat /proc/loadavg.

Hi roman48tdr,

as the 3 first numbers represent the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes, it seems the 2 jobs in D state plus the job in R+ state that is the terminal job you are using(that is seldomly runs).

can you specify what is the root problem you are facing?

can you specify what is the root problem you are facing?

My expectation that in stand-by mode (kernel + minimal set of services are running) cpu load will be near 0. If this is not the case i want to get your suggestion on what can be causing this CPU load. If you say that processes in D state cause this (which is my assumption), I just want to know two things:

  1. What is “vq_polling_thre” and “gk20a”?
  2. Is there any way to disable these processes/interrupts?

We are using quite a number of Drive AGX platforms for a safety-critical application (Drive is QM part of the system). And i want to have control over what is running there.

For safety or production, QNX is what we suggest instead of Linux. It is implied in the table of “What are the differences between the DRIVE AGX and the Jetson AGX Developer Kits?” in the FAQ page. Thanks!

Hi @roman48tdr,
processes in D state do not cause any CPU load as D state indicate that the process is in an “uninterruptible sleep” mode.
so these processes actually have 0% CPU usage.

The command to find non-zero CPU utilization should be as following:
nvidia@tegra-ubuntu:~$ ps -aux | awk {'if ($3 != "0.0") print $0'}
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 210 0.1 0.0 0 0 ? S Mar29 4:23 [irq/116-1520000]
root 5896 0.1 0.0 0 0 ? I Mar29 6:33 [kworker/0:0]
root 10841 0.1 0.0 0 0 ? S 10:00 0:00 [irq/95-ttyS0]

irq/116-1520000 is the NIC connection to the Xavier
kworker is are linux kernel process which handles basic software interrupts (timer, IPI etc).
Irq/95-ttyS0 is the serial debug console to the Xavier.

1 Like

Thanks.

For me

ps -aux | awk {'if ($3 != "0.0") print $0'}
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.0  13592  8184 ?        Ss   11:36   0:04 /sbin/init
root       492  0.1  0.0  17024  5384 ?        Ss   11:36   0:02 /lib/systemd/systemd-udevd
root       560  2.3  0.0      0     0 ?        S    11:36   1:02 [irq/86-2490000.]
root       565  1.0  0.0      0     0 ?        S    11:36   0:29 [irq/91-2490000.]
nvidia    3062  3.0  0.0   5284  2416 pts/0    R+   12:21   0:00 ps -aux

Seems for me both irq’s (86, 91) are related to Ethernet

cat /proc/interrupts  | grep ethe
 84:          0          0          0          0          0          0     GIC-0 226 Level     ether_qos.common_irq
 86:    2264523          0          0          0          0          0     GIC-0 222 Level     2490000.ether_qos.rx0
 87:       3926          0          0          0          0          0     GIC-0 218 Level     2490000.ether_qos.tx0
 88:       4839          0          0          0          0          0     GIC-0 223 Level     2490000.ether_qos.rx1
 89:         14          0          0          0          0          0     GIC-0 219 Level     2490000.ether_qos.tx1
 90:          0          0          0          0          0          0     GIC-0 224 Level     2490000.ether_qos.rx2
 91:    1150558          0          0          0          0          0     GIC-0 220 Level     2490000.ether_qos.tx2
 92:          0          0          0          0          0          0     GIC-0 225 Level     2490000.ether_qos.rx3
 93:          0          0          0          0          0          0     GIC-0 221 Level     2490000.ether_qos.tx3