brndnmtthws / conky

Light-weight system monitor for X, Wayland (sort of), and other things, too
https://conky.cc
GNU General Public License v3.0
7.27k stars 620 forks source link

Regular load spikes #235

Closed aueelis closed 8 years ago

aueelis commented 8 years ago

A while ago, I noticed regular load spikes on my machine. Investigating this issue further, I registered spikes of ~5.5 every 125 minutes. After reducing the size of my script, the spikes reduced to ~4 every 125 minutes. After killing conky, the spikes disappear.

conkyrc.txt

plikhari commented 8 years ago

There are many things happening when you are running a program. 125 minutes is just over 2 hours - how do you clock this ??? Then again update interval of 1 second - what would happen if you increased it to a higher value. Accuracy and Precision are 2 different things. We normally need to find a balance. Are those load spikes induced due to the update interval ??? Perhaps if you increased that update interval to 3 or 5 - what results do you get??

aueelis commented 8 years ago

I'm monitoring the load on my system with watch by logging the contents of /proc/loadavg:

watch -p -n 1 'echo -n $(date +%s) " " | tee -a loadlog && cat /proc/loadavg | tee -a loadlog'

At the moment I'm trying to investigate, which conky widget contributes to this spike. Running only the first part of the script down to the cpugraph (i.e. ll. 1-76) doesn't show a measurable spike (however, gdm produces an unrelated background load of 0.3 on this machine...). The measurement with line 77 (loadgraph) is running now.

Later, I'll play with the update interval.

aueelis commented 8 years ago

I couldn't find a specific command, which could cause these spikes.

Playing with the update interval (0.5s, 1s and 5s) didn't change the distance between the spikes.

aueelis commented 8 years ago

I think, it is related to the execi command!

The following setup produced no measurable spikes:

${font $template0}SYSTEM ${hr 2}
${font $template1}$sysname $kernel $alignr $machine
Host:$alignr$nodename
Uptime:$alignr$uptime

${font $template0}PROZESSOR ${hr 2}
${font $template1}${cpugraph cpu0}
${voffset -6}${loadgraph 13,200 FFFFFF FFFFFF 8}
Last:$alignr${loadavg 1} / ${loadavg 2} / ${loadavg 3}
CPU1: ${alignr 15}${cpu cpu1}%$alignr${cpubar cpu1 6,110}
CPU2: ${alignr 15}${cpu cpu2}%$alignr${cpubar cpu2 6,110}
CPU3: ${alignr 15}${cpu cpu3}%$alignr${cpubar cpu3 6,110}
CPU4: ${alignr 15}${cpu cpu4}%$alignr${cpubar cpu4 6,110}

This setup produced spikes:

Updates: ${execi 300 cat "/var/log/pending_updates.log" | wc -l}$alignr Stand: ${execi 300 date -r /var/log/pending_updates.log +%R}
CPU1: ${execi 5 sensors coretemp-isa-0000 | grep "Core 0" | cut -b16-17}°C
CPU2: ${execi 5 sensors coretemp-isa-0000 | grep "Core 1" | cut -b16-17}°C
CPU3: ${execi 5 sensors coretemp-isa-0000 | grep "Core 2" | cut -b16-17}°C
CPU4: ${execi 5 sensors coretemp-isa-0000 | grep "Core 3" | cut -b16-17}°C
Lüfter: $alignr${execi 5 sensors f71858fg-isa-0a00 | grep "fan1:" | cut -b14-17} / ${execi 5 sensors f71858fg-isa-0a00 | grep "fan2:" | cut -b14-17}

Unfortunately, I'm absolutely not sure, where to go from here... Any suggestions?

aueelis commented 8 years ago

Closing for now: After the last update of gdm, the background load was reduced to around 0.06. This enabled some deeper analysis (e.g. deconvolution and FFT) with and without conky. Even without conky, I notice regular spikes every 25 minutes (not 125).

My conclusion (for now) is that conky is not the cause, but an amplifier of the load spikes.