CPUfreq Diagramm (mal wieder)

Post Reply
silvio
Posts: 39
Joined: May 22nd, 2009, 12:07 pm

CPUfreq Diagramm (mal wieder)

Post by silvio » April 17th, 2019, 9:13 am

Hallo,

da ich bisher kein System mit auslesbarer Frequenz hatte bin ich jetzt über das Problem gestolpert.
Die Meldung ist:
"Die Grafik https://192.168.2.1:444/cgi-bin/system.cgi?cpufreq?day kann nicht angezeigt werden, weil sie Fehler enthält."

Ich habe die Lösungsansätze von:
viewtopic.php?t=21119
durchprobiert und bisher keine Lösung gefunden.

Ich kann die von /etc/init.d/collectd abgefragten Files (/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq) für alle CPUs finden und im collectd.conf wird das CPUFreq Plugin als zu laden aufgeführt:
LoadPlugin cpufreq
Die rrds Files für die einzelnen CPUs werden auch erzeugt und unter /var/log/rrd/collectd/localhost/cpufreq abgelegt und aktualisiert:
[root@ipfire cpufreq]# ls -la
total 3656
drwxr-xr-x 2 root root 4096 Apr 16 14:59 .
drwxr-xr-x 77 root root 4096 Apr 11 20:12 ..
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-0.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-10.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-11.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-12.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-13.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-14.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-15.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-16.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-17.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-18.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-19.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-1.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-20.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-21.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-22.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-23.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-2.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-3.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-4.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-5.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-6.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:01 cpufreq-7.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-8.rrd
-rw-r--r-- 1 root root 154888 Apr 17 11:02 cpufreq-9.rrd
Im ersten Schritt habe ich collectd gestopt und den rrd Folder komplett geleert.
Alle rrds und Graphen wurden neu erzeugt außer der CPUFreq Graph.

Gibt es eventuell Limits was die Anzahl der CPUs angeht oder gibt es etwas anderes was ich noch testen kann?

Grüße

Silvio

silvio
Posts: 39
Joined: May 22nd, 2009, 12:07 pm

Re: CPUfreq Diagramm (mal wieder)

Post by silvio » April 17th, 2019, 1:36 pm

Im Zusammenhang mit der Suche nach der Ursache ist mir gerade folgendes aufgefallen.

Ich habe auf dem Server gerade das Hyper-Threading abgeschaltet.
Dadurch minimiert sich die Anzahl virtuell verfügbarer Kerne.
Um sicher zu gehen das es keine Probleme mit den vorher gewonnen Daten gibt habe ich das rrd Verzeichnis vorher geleert.

Nach dem reboot habe ich jedoch nur noch von 4 CPU Kernen die cpufreq rrd Files im rrd Verzeichnis obwohl 12 CPUs erkannt werden.
[root@ipfire localhost]# ls -la
total 204
drwxr-xr-x 51 root root 4096 Apr 17 15:06 .
drwxr-xr-x 3 root root 4096 Apr 17 15:05 ..
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-0
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-1
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-10
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-11
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-2
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-3
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-4
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-5
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-6
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-7
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-8
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpu-9
drwxr-xr-x 2 root root 4096 Apr 17 15:05 cpufreq

[root@ipfire localhost]# cd cpufreq/
[root@ipfire cpufreq]# ls -la
total 768
drwxr-xr-x 2 root root 4096 Apr 17 15:05 .
drwxr-xr-x 51 root root 4096 Apr 17 15:06 ..
-rw-r--r-- 1 root root 154888 Apr 17 15:18 cpufreq-0.rrd
-rw-r--r-- 1 root root 154888 Apr 17 15:17 cpufreq-1.rrd
-rw-r--r-- 1 root root 154888 Apr 17 15:17 cpufreq-2.rrd
-rw-r--r-- 1 root root 154888 Apr 17 15:18 cpufreq-3.rrd
-rw-r--r-- 1 root root 154888 Apr 17 15:18 cpufreq-4.rrd
Bei der Suche nach der möglichen Ursache fiel folgendes auf.
Der Core Nr. 6 hat unter /sys/devices/system/cpu/cpu5 keinen cpufreq Link in das entsprechende policy Verzeichnis.
Die darauf folgenden Cores haben diese aber wieder.

Zwei Dinge die mich wundern:
1. Warum wird nach dem abschalten von HT an dem Core die CPU Frequenz nicht mehr erkannt/geregelt?
2. Warum hört collectd bei diesem Core auf die Daten zu erfassen und ignoriert alle Daten der Cores die nachfolgend kommen?

Nach einem weiterem Reboot war der Core Nr. 7 ohne cpufreq Link und die Daten im collectd Verzeichnis wurden bis cpufreq-6.rrd aufgeführt.
Somit scheint collectd wirklich immer die Abfrage nach Daten an dem betroffenen Core abzubrechen.

Das Problem mit der (nicht) Darstellung hat sich durch diese Änderung übrigens nicht gelöst.

Silvio

silvio
Posts: 39
Joined: May 22nd, 2009, 12:07 pm

Re: CPUfreq Diagramm (mal wieder)

Post by silvio » May 17th, 2019, 1:00 pm

Ich hatte ja Hoffnung das Version 131 eventuell eine Änderung bringt aber das Problem besteht noch immer.
Ich habe den /var/log/rrd/collectd Folder beim Upgrade zur Sicherheit gelöscht aber das Ergebnis ist gleich.

Eventuell kann mir ja jemand sagen was an diesem File problematisch ist:

Code: Select all

[root@ipfire cpufreq]# rrdtool info cpufreq-0.rrd 
filename = "cpufreq-0.rrd"
rrd_version = "0003"
step = 30
last_update = 1558097587
header_size = 3496
ds[value].index = 0
ds[value].type = "GAUGE"
ds[value].minimal_heartbeat = 60
ds[value].min = 0.0000000000e+00
ds[value].max = NaN
ds[value].last_ds = "1600171000.000000"
ds[value].value = 1.1201197000e+10
ds[value].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 1200
rra[0].cur_row = 1013
rra[0].pdp_per_row = 1
rra[0].xff = 1.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "MIN"
rra[1].rows = 1200
rra[1].cur_row = 579
rra[1].pdp_per_row = 1
rra[1].xff = 1.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[2].cf = "MAX"
rra[2].rows = 1200
rra[2].cur_row = 1051
rra[2].pdp_per_row = 1
rra[2].xff = 1.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 1440
rra[3].cur_row = 357
rra[3].pdp_per_row = 2
rra[3].xff = 1.0000000000e-01
rra[3].cdp_prep[0].value = 0.0000000000e+00
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[4].cf = "MIN"
rra[4].rows = 1440
rra[4].cur_row = 845
rra[4].pdp_per_row = 2
rra[4].xff = 1.0000000000e-01
rra[4].cdp_prep[0].value = inf
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[5].cf = "MAX"
rra[5].rows = 1440
rra[5].cur_row = 1228
rra[5].pdp_per_row = 2
rra[5].xff = 1.0000000000e-01
rra[5].cdp_prep[0].value = -inf
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[6].cf = "AVERAGE"
rra[6].rows = 1260
rra[6].cur_row = 1241
rra[6].pdp_per_row = 16
rra[6].xff = 1.0000000000e-01
rra[6].cdp_prep[0].value = 1.6602338500e+10
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 1260
rra[7].cur_row = 1154
rra[7].pdp_per_row = 16
rra[7].xff = 1.0000000000e-01
rra[7].cdp_prep[0].value = 1.6001613667e+09
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[8].cf = "MAX"
rra[8].rows = 1260
rra[8].cur_row = 1037
rra[8].pdp_per_row = 16
rra[8].xff = 1.0000000000e-01
rra[8].cdp_prep[0].value = 2.0032610000e+09
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[9].cf = "AVERAGE"
rra[9].rows = 1207
rra[9].cur_row = 650
rra[9].pdp_per_row = 74
rra[9].xff = 1.0000000000e-01
rra[9].cdp_prep[0].value = 9.7557686300e+10
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[10].cf = "MIN"
rra[10].rows = 1207
rra[10].cur_row = 235
rra[10].pdp_per_row = 74
rra[10].xff = 1.0000000000e-01
rra[10].cdp_prep[0].value = 1.6001595000e+09
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 1207
rra[11].cur_row = 1036
rra[11].pdp_per_row = 74
rra[11].xff = 1.0000000000e-01
rra[11].cdp_prep[0].value = 2.4003341000e+09
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[12].cf = "AVERAGE"
rra[12].rows = 1201
rra[12].cur_row = 1147
rra[12].pdp_per_row = 878
rra[12].xff = 1.0000000000e-01
rra[12].cdp_prep[0].value = 1.2079077017e+11
rra[12].cdp_prep[0].unknown_datapoints = 183
rra[13].cf = "MIN"
rra[13].rows = 1201
rra[13].cur_row = 345
rra[13].pdp_per_row = 878
rra[13].xff = 1.0000000000e-01
rra[13].cdp_prep[0].value = 1.6001595000e+09
rra[13].cdp_prep[0].unknown_datapoints = 183
rra[14].cf = "MAX"
rra[14].rows = 1201
rra[14].cur_row = 800
rra[14].pdp_per_row = 878
rra[14].xff = 1.0000000000e-01
rra[14].cdp_prep[0].value = 2.4003341000e+09
rra[14].cdp_prep[0].unknown_datapoints = 183
Silvio

Post Reply