NEWS
massive CPU Auslastung
-
@da_woody Wenn JS 2980 state changes pro 15s mitbekommt, welcher Adapter erzeugt die denn? Solltest du in der Übersicht auch sehen können.
-
@da_woody said in js-controller 4.0 jetzt im BETA/LATEST!:
nachdem der sagg, hier im forum früher bekannt, mich mit einer halbfertigen vis sitzen hat lassen
naja ... so ganz stimmt das nicht.
Der Sagg hat erstmals dein ganzes Netzwerk in Ordnung gebracht, dann dein ganzes Chaos organisiert und eben auch Dir eine Benutzeroberfläche erzeugt. Dass Du dabei anderwertige Interessen hattes, dafür kann der Sagg nichts.
So kenne ich die ganze Geschichte. Aber das ist OT.
Jetzt gilt es mal deine Fehler zu bereinigen.
-
@jabba_the_hutt sagte in js-controller 4.0 jetzt im BETA/LATEST!:
So kenne ich die ganze Geschichte.
tja, welche geschichte du glaubst, kann ich dir nicht vorschreiben. aber wie du sagst, OT...
@AlCalzone ich werd mich morgen mal über die adapter werfen und da schauen ob ich einen übeltäter finden kann...
-
@da_woody sagte in js-controller 4.0 jetzt im BETA/LATEST!:
tja, welche geschichte du glaubst, kann ich dir nicht vorschreiben. aber wie du sagst, OT...
mhm ... ICH kenne die Geschichte nur zu gut. Traurig, dass Du jetzt so über mich schreibst. Egal. Have a nice Day
-
@diginix Da ist Diginix auf der richtigen Spur!!
Also Ja "Eingehend" hat JavaScript in jedem Fall alle States ... das heisst aber das kontinuierlich in 15s Zyklus knapp 3000 State changes passieren. Das ist krass. Die müssen von irgendwo herkommen. Und ja über 500 ausgehende State Writes kommen dann aus JavaScript raus. Da ist schon ne ganze Menge!
EDIT: Ok, eingehend soweit ok, sind bei mir auch 1.800 teilweise ... das ist halt "alles".
Was tut das denn alles "ausgehend"?
Bzw ich bin ehrlich: Ich fürchte Dein System ist so langsam für file oder jsonl DB zu groß und sollte auf Redis umgestellt werden.
-
@apollon77 und woher kommt das "unknown" ??
file/jsonDB auf ner SDD mit entsprechender HW kann das normal locker verdauen ... da braucht es kein Redis dafür.
Das Problem liegt da woanders ... und ich bleib weiterhin dabei ... vor dem Bildschirm.
-
@da_woody sagte in js-controller 4.0 jetzt im BETA/LATEST!:
i5-4670
Naja das ist ein nuc7 ... wit wissen das zwischen Nuc6 und 8 ein Mega Sprung war was die Intel-Prozessoren anging - siehe auch hier durchschnittliche Durchsätze mit Controller 3.3.22 - https://www.iobroker.net/#de/blog/2021_12_15 ...
Man könnte jetzt mal versuchen von jsonl zurück auf "file" zu gehen mit controller 4 und schauen was das bringt ...
Und wer diese "noname" connections zu Admin sind weiss ich niucht. Irgendjemand ist da per socketio verbunden. Das könnte Adapter oder tabs sein oder sowas
-
Er hat keinen NUC.
-
@jabba_the_hutt Am Ende ist es aber der i5 wie auch im Nuc7 :-))
-
Seine Hardware ist stark genug ... Die verursacht das Problem nicht.
Es ist eben KEIN Fehler vom js-controller
-
@jabba_the_hutt Naja gut das Du dir sicher bist Ich als einer der aktiven Controller Entwickler möchte gern verstehen was da bei Ihm passiert, da wir genau jetzt im Beta Test vom Controller 4 sind und wenn es mit 3.3 geht und mit 4 nicht so gut dann muss man das checken.
-
wieso sind da erstmal 13 Admins offen ... wieso ist da ein noname dabei?
DAS verwundert mich schon mal.
Welche Logs würden da helfen? Interessant wäre, wieviel da in den Scripts drinnen ist, wieviel schon als sudo oder root gemacht wurde und ob die ganze Installation an sich noch ok ist.
Bei mir gibt es keinerlei Probleme mit dem Adapter ... mit schwächerer Hardware aber vergleichbarer Installation ... also Proxmox und so.
-
@jabba_the_hutt Ja, das sind interessante Fragen, die aber nicht erklären warum der js-controller 100% CPU Last hat. Wenn ers an den Admin-Verbindungen liegen würde wäre es im ersten Schritt Admin was die Last hätte.
Mein herangehen wäre folgendes:
1.) Baseline sicherstellen: Zurück auf controller 3.3.22 und die Prozesslasten ansehen und wieviele Messages da wie wie fliessen. Interessant dabei ist ob controller 3.3.22 mit file oder jsonl ... idealerweise jsonl schauen.
2.) Dann upgrade auf controller 4.0 und vergleichenDann kann man weiter überlegen
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Baseline sicherstellen: Zurück auf controller 3.3.22 und die Prozesslasten ansehen und wieviele Messages da wie wie fliessen. Interessant dabei ist ob controller 3.3.22 mit file oder jsonl ... idealerweise jsonl schauen.
mach ich morgen... mal schauen, was rauskommt...
-
@harrym was soll man über typen wie dich sonst schreiben...
nimm wieder den anderen nick... -
-
@apollon77 noch kein eigenes thema? ok.
ich teste schon den ganzen tag herum. in der früh downgrade gemacht auf 3.3.22. ok nicht kontrolliert. alle scripte ausgeschalten, einige adapter gestoppt. danach teilweise normale werte bei CPU und RAM. mit ausreissern auf über 100%.
js-controller update auf 4.0.9, aber, zeile 103, Update js-controller from @4.0.8 to @4.0.9?woody@ioBroker:~$ iob backup host.ioBroker 137495 states saved host.ioBroker 176283 objects saved Backup created: /opt/iobroker/backups/2022_02_15-12_24_08_backupiobroker.tar.gz woody@ioBroker:~$ iob stop woody@ioBroker:~$ iob update Used repository: Beta (latest) Adapter "admin" : 5.3.0 , installed 5.3.0 Adapter "alexa2" : 3.12.0 , installed 3.12.0 Adapter "alias-manager": 1.2.4 , installed 1.2.4 Adapter "backitup" : 2.3.2 , installed 2.3.2 Adapter "birthdays" : 1.0.0 , installed 1.0.0 Adapter "bydbatt" : 1.0.7 , installed 1.0.7 Adapter "daswetter" : 3.0.9 , installed 3.0.9 Adapter "device-reminder": 1.2.9 , installed 1.2.9 Adapter "followthesun" : 0.3.8 , installed 0.3.8 Adapter "fronius" : 1.1.3 , installed 1.1.3 Adapter "gruenbeck" : 0.0.34 , installed 0.0.34 Adapter "ical" : 1.11.6 , installed 1.11.6 Adapter "influxdb" : 2.4.0 , installed 2.4.0 Adapter "info" : 1.9.18 , installed 1.9.18 Adapter "iot" : 1.9.5 , installed 1.9.5 Adapter "iqontrol" : 2.0.0-rc2.1, installed 2.0.0-rc2.1 Adapter "javascript" : 5.2.21 , installed 5.2.21 Controller "js-controller": 4.0.9 , installed 4.0.8 [Updatable] Adapter "linux-control": 1.1.4 , installed 1.1.4 Adapter "logparser" : 1.1.0 , installed 1.1.0 Adapter "meteoalarm" : 2.1.1 , installed 2.1.1 Adapter "mihome-vacuum": 3.3.3 , installed 3.3.3 Adapter "mqtt" : 2.4.1 , installed 2.4.1 Adapter "octoprint" : 3.0.1 , installed 3.0.1 Adapter "pi-hole" : 1.3.4 , installed 1.3.4 Adapter "ping" : 1.5.2 , installed 1.5.2 Adapter "proxmox" : 1.3.4 , installed 1.3.4 Adapter "radar2" : 2.0.3 , installed 2.0.3 Adapter "scenes" : 2.3.9 , installed 2.3.9 Adapter "shelly" : 5.1.3 , installed 5.1.3 Adapter "shuttercontrol": 1.4.11 , installed 1.4.11 Adapter "simple-api" : 2.6.2 , installed 2.6.2 Adapter "smartcontrol" : 1.2.1 , installed 1.2.1 Adapter "snmp" : 0.5.0 , installed 0.5.0 Adapter "socketio" : 4.1.2 , installed 4.1.2 Adapter "sonoff" : 2.4.7 , installed 2.4.7 Adapter "synology" : 1.1.3 , installed 2.0.1 Adapter "trashschedule": 1.4.2 , installed 1.4.2 Adapter "vis" : 1.4.12 , installed 1.4.12 Adapter "vis-materialdesign": 0.5.9, installed 0.5.9 Adapter "weatherunderground": 3.3.1, installed 3.3.1 Adapter "web" : 4.1.4 , installed 4.1.4 Adapter "web-speedy" : 0.2.0 , installed 0.2.0 Adapter "whatsapp-cmb" : 0.1.6 , installed 0.1.6 Adapter "wled" : 0.6.3 , installed 0.6.3 Adapter "ws" : 1.1.4 , installed 1.1.4 woody@ioBroker:~$ iob fix library: loaded Library version=2022-02-10 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2022-02-13 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== [sudo] Passwort für woody: OK:1 http://security.debian.org/debian-security buster/updates InRelease OK:2 http://deb.debian.org/debian buster InRelease Holen:3 http://deb.debian.org/debian buster-updates InRelease [51,9 kB] OK:4 https://deb.nodesource.com/node_14.x buster InRelease Es wurden 51,9 kB in 1 s geholt (101 kB/s). Paketlisten werden gelesen... Fertig Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== woody@ioBroker:~$ iob upgrade self Update js-controller from @4.0.8 to @4.0.9 Stopped Objects DB Stopped States DB NPM version: 6.14.16 Installing iobroker.js-controller@4.0.9... (System call) > iobroker.js-controller@4.0.9 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.16 > iobroker.js-controller@4.0.9 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first Successfully migrated 179884 objects to Redis Sets object _design/system updated The following notifications happened during sync: - Ignoring Directory "fronius.admin" because officially not created as meta object. Please remove directory! - Ignoring Directory "proxmox" because officially not created as meta object. Please remove directory! - Ignoring Directory "proxmox.admin" because officially not created as meta object. Please remove directory! - Ignoring Directory "switchbot-hub.admin" because officially not created as meta object. Please remove directory! { "defaultPrivate": "-----BEGIN RSA PRIVATE KEY-----\r\xxx\r\n-----END RSA PRIVATE KEY-----\r\n", "defaultPublic": "-----BEGIN CERTIFICATE-----\r\xxx\r\n-----END CERTIFICATE-----\r\n" } Update certificate defaultPrivate The object "system.certificates" was updated successfully. Update certificate defaultPublic The object "system.certificates" was updated successfully. + iobroker.js-controller@4.0.9 added 1 package from 2 contributors, removed 1 package and updated 26 packages in 91.61s 74 packages are looking for funding run `npm fund` for details woody@ioBroker:~$ iob start woody@ioBroker:~$ iob status Cannot determine Lua scripts strategy: Connection is closed. ["cfg.o.system.host.ioBroker"] Server Cannot start inMem-objects on port 9001: Failed to lock DB file "/opt/iobroker/iobroker-data/objects.jsonl"! woody@ioBroker:~$
verwirrung wird nicht weniger...
alles auf latest gezogen, neuen downgrad gemacht.woody@ioBroker:~$ iob stop woody@ioBroker:~$ npm install iobroker.js-controller@3.3.22 > iobroker.js-controller@3.3.22 preinstall /home/woody/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.16 > iobroker.js-controller@3.3.22 install /home/woody/node_modules/iobroker.js-controller > node iobroker.js setup first object _design/custom updated object _design/system updated ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker ioBroker wants to make sure to deliver the most stable smart home system. To allow this we decided to implement an automatic error and crash reporting solution into the js-controller and also into adapters. THIS REPORTING WILL BE ENABLED WITH THE NEXT START OF YOUR IOBROKER! For any error that leads to the crash of the js-controller or one of the relevant adapters the error details are send to a server. For the js-controller and core adapters this server is located and operated in germany. For community adapters please check the Github Readme of the affected adapter for details which Sentry server is used. If you want to disable the error reporting you can use the command 'iobroker plugin disable sentry' This command will also make sure that no adapter that runs on this host will send crash reporting data to sentry. npm WARN saveError ENOENT: no such file or directory, open '/home/woody/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/woody/package.json' npm WARN woody No description npm WARN woody No repository field. npm WARN woody No README data npm WARN woody No license field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + iobroker.js-controller@3.3.22 updated 1 package and audited 485 packages in 9.215s 12 packages are looking for funding run `npm fund` for details found 21 vulnerabilities (13 low, 5 moderate, 3 high) run `npm audit fix` to fix them, or `npm audit` for details ╭───────────────────────────────────────────────────────────────╮ │ │ │ New major version of npm available! 6.14.16 → 8.5.0 │ │ Changelog: https://github.com/npm/cli/releases/tag/v8.5.0 │ │ Run npm install -g npm to update! │ │ │ ╰───────────────────────────────────────────────────────────────╯ woody@ioBroker:~$ woody@ioBroker:~$ iob status Cannot determine Lua scripts strategy: Connection is closed. ["cfg.o.system.host.ioBroker"] No connection to databases possible ... woody@ioBroker:~$
admin neu gestartet, den ganzen rechner neu gestartet:
top zickt immer noch rum.top - 15:50:41 up 29 min, 1 user, load average: 2,10, 2,15, 1,91 Tasks: 114 total, 3 running, 111 sleeping, 0 stopped, 0 zombie %Cpu(s): 67,9 us, 3,6 sy, 0,0 ni, 25,0 id, 0,2 wa, 0,0 hi, 0,7 si, 2,6 st MiB Mem : 5962,7 total, 1450,6 free, 4010,7 used, 501,5 buff/cache MiB Swap: 975,0 total, 974,7 free, 0,3 used. 1719,4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 351 iobroker 20 0 1890260 1,0g 35556 R 125,5 17,8 25:26.79 iobroker.js-con 509 iobroker 20 0 1086652 237768 30856 S 11,3 3,9 3:28.99 io.mqtt.0 785 iobroker 20 0 950776 351280 31000 S 5,3 5,8 0:37.79 io.simple-api.0 536 iobroker 20 0 726040 134820 31164 S 2,3 2,2 1:16.09 io.shelly.0 416 iobroker 20 0 1132504 423056 30760 S 0,7 6,9 1:39.00 io.javascript.0 629 iobroker 20 0 676236 82032 30828 S 0,7 1,3 0:33.52 io.sonoff.0 10 root 20 0 0 0 0 R 0,3 0,0 0:01.00 rcu_sched 730 iobroker 20 0 10,6g 73164 32436 S 0,3 1,2 0:03.34 io.linux-contro 763 iobroker 20 0 672868 76884 31208 S 0,3 1,3 0:13.60 io.octoprint.0 845 iobroker 20 0 962872 108392 31388 S 0,3 1,8 0:10.23 io.web.0 860 iobroker 20 0 671248 71196 30932 S 0,3 1,2 0:02.64 io.meldungslist 1 root 20 0 21920 9760 7656 S 0,0 0,2 0:01.22 systemd 2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd 3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par_gp 6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H-kblockd 8 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu_wq 9 root 20 0 0 0 0 S 0,0 0,0 0:00.09 ksoftirqd/0 11 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_bh 12 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/0 14 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0 15 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/1 16 root rt 0 0 0 0 S 0,0 0,0 0:00.36 migration/1 17 root 20 0 0 0 0 S 0,0 0,0 0:00.44 ksoftirqd/1 19 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/1:0H-kblockd 20 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs 21 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 netns 22 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kauditd 23 root 20 0 0 0 0 S 0,0 0,0 0:00.00 khungtaskd 24 root 20 0 0 0 0 S 0,0 0,0 0:00.00 oom_reaper 25 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 writeback 26 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kcompactd0 27 root 25 5 0 0 0 S 0,0 0,0 0:00.00 ksmd 28 root 39 19 0 0 0 S 0,0 0,0 0:00.34 khugepaged 29 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 crypto 30 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kintegrityd 31 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kblockd 32 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 edac-poller 33 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 devfreq_wq 34 root rt 0 0 0 0 S 0,0 0,0 0:00.00 watchdogd 36 root 20 0 0 0 0 S 0,0 0,0 0:00.08 kswapd0 54 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kthrotld 55 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 ipv6_addrconf 65 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kstrp
inder proxmox GUI sind teilweise "normale" werte, bis zu extrem.
-
@da_woody sagte in js-controller 4.0 jetzt im BETA/LATEST!:
woody@ioBroker:~$ npm install iobroker.js-controller@3.3.22
Da stehst du im falschen Verzeichnis.
Vorher in /opt/iobroker wechseln. -
@thomas-braun wurde vor paar tagen erklärt, daß das automatisch passiert.
soll heißen, das ich jetzt 2 js-controller im system habe?
würde die last erklären, oder? -
@da_woody sagte in js-controller 4.0 jetzt im BETA/LATEST!:
daß das automatisch passiert.
Nicht, wenn du direkt mit npm hantierst. Das installiert immer in das Verzeichnis, in welchem es aufgerufen wurde.
Wenn der wrapperiobroker add MODULNAME
verwendet wird ist es egal, der setzt das richtige Verzeichnis.
soll heißen, das ich jetzt 2 js-controller im system habe?
Möglich.
würde die last erklären, oder?
Ebenfalls möglich.