|
|
|
|
|
by mmh0000
327 days ago
|
|
It should also be mentioned, Linux Load Average is a complex beast[1]. However, a general rule of thumb that works for most environments is: You always want the load average to be less than the total number of CPU cores. If higher, you're likely experiencing a lot of waits and context switching. [1] https://www.brendangregg.com/blog/2017-08-08/linux-load-aver... |
|
Note that synchronous I/O completion checks for previously submitted asynchronous I/Os (both with libaio and io_uring) do not contribute to system load as they sleep in the interruptible sleep (S) mode.
That's why I tend to break down the system load (demand) by the sleep type, system call and wchan/kernel stack location when possible. I've written about the techniques and one extreme scenario ("system load in thousands, little CPU usage") here:
https://tanelpoder.com/posts/high-system-load-low-cpu-utiliz...