Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [gelöst] Unterschiedliche node.js Versionen mit Node-Red und Speicherauslastung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Unterschiedliche node.js Versionen mit Node-Red und Speicherauslastung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
13 Beiträge 6 Kommentatoren 3.9k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #2

    @tom57:

    Ich möchte meine bisherigen Erfahrungen zur Speicherauslastung mitteilen und zur Diskussion stellen.

    Ich habe aktuell ein Raspberry PI 3 am laufen mit recht vielen Adaptern, MySQL (Adapter + Datenbank) und Node-Red. Der Node-Red Prozess hat den höchsten Speicherbedarf und nutzt die CPU am meisten (10-30%). Es wird im 5 Sekunden-Takt der RS485 ADapter ausgelesen , das Piface Board angesteuert bzw. gelesen und diverse MySQL Flows initialisiert (ca. 20.000 Datensätze pro Tag).

    Nach diversen Neuinstallationen und Versuchen mit Multihost ist mir nun folgendes aufgefallen.

    Ich habe folgende Varianten getestet:

    1. Node.js 0.12.6 wie emfohlen:````
    wget http://download.iobroker.net/nodejs0_12_6_armhf.deb
    dpkg -i nodejs0_12_6_armhf.deb
    rm nodejs0_12_6_armhf.deb

    mit der Standard Node-Red Version (0.12.5.)
    
    2\. Node.js version 4.26````
    curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
    sudo apt-get install -y nodejs
    

    Nach (1) ausgeführt. node -v zeigt weiterhin 0.12.6. an (warum?)

    Node-Red wie (1)

    3. Node.js wie (2) und Node-Red 0.13.2````
    cd /opt/iobroker/node_modules/iobroker.node-red
    iobroker stop node-red.0
    npm i --unsafe-perm node-red@0.13.2
    iobroker start node-red.0

    
    Meine Erfahrungen:
    
    (1) Rechner hat massive Speicherprobleme und nutzt bis zu 300 MB Swap
    
    Regelmäßige Abstürze - alle 24-36 Stunden
    
    (2) ca. 150 - 200 free memory. Swap maximal 5-10 MB
    
    Rechner läuft stabil, nur Node-Red macht Probleme.
    
    Beim Deployment von Änderungen wird häufig die Verbindung zum Server nicht gefunden.
    
    (3) wie (2) und Node-red deutlich stabiler. Alles stabil
    
    ****Hat jemand ähnliche Erfahrungen mit den unterschiedlichen node.js Versionen?****
    
    Wie installiere ich die Version 4.xx eigentlich richtig? (siehe (2))
    
    Wenn ich nur````
    curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
    sudo apt-get install -y nodejs
    ````ausführe, ohne vorher 0.12.6 installiert zu haben, dann fehlt node. Warum eigentlich? `  
    

    Ich möchte dazu ergänzen, dass ich neulich auf 4.3.1 umgestiegen bin und wurde auch die für die Installation emfehlen. Nun habe ich noch keine Zeit gefunden, um die Webseiten upzudaten (geschweige schon die Images).

    Bin aber für die Hilfe bei der Korrekturen dankbar

    1 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      nobody
      schrieb am zuletzt editiert von
      #3

      @tom57:

      Nach (1) ausgeführt. node -v zeigt weiterhin 0.12.6. an (warum?)

      Node-Red wie (1) `

      Hallo tom57,

      der Symlink wird bei den offiziellen Debian-Paketen nicht durch das Paket nodejs sondern durch das Paket node-legacy angelegt.

      Da du dieses vorher wahrscheinlich nicht deinstalliert hast, wird node noch auf die alte Installation 0.12.6 zeigen.

      Wenn du dir den Inhalt des Ordners /usr/bin mit ls -la anzeigen lässt, steht dort, auf welche Datei zurzeit verlinkt ist.

      Das kann man ohne langwierige Installationen aber ganz einfach beheben:

      rm /usr/bin/node
      ln -s [the path of nodejs] /usr/bin/node 
      
      

      Die richtige nodejs-Datei sollte bei Installation des nodesource-Packages auch im Verzeichnis /usr/bin sein.

      Was sagt den bei dir npm -v ? Dort müsste eigentlich eine Version 2.14.x ausgegeben werden. Ansonsten ist da der Symlink auch noch falsch.

      Wenn du node 4.x über

      curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

      sudo apt-get install -y nodejs

      installiert hast, wirst du beim nächsten Systemupdate mit apt-get update & apt-get upgrade automatisch auf die jetzt aktuelle 4.4.0 gehoben, da deb.nodesource.com/setup_4.x nun als Repository zugefügt wurde. Bis jetzt hab ich noch keine Nachteile dadurch gehabt, automatisch mit Updates versorgt zu werden.

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tp1de
        schrieb am zuletzt editiert von
        #4

        Danke für das Feedback soweit. Ich bin aber nach wie vor etwas verloren.

        Wenn ich nach der Standardanleitung````
        wget http://download.iobroker.net/nodejs0_12_6_armhf.deb
        dpkg -i nodejs0_12_6_armhf.deb
        rm nodejs0_12_6_armhf.deb

        root@rasp1:~# node -v
        v0.12.6
        root@rasp1:~# npm -v
        2.11.2

        
        Wohin wird dann eigentlich installiert? - /usr/local/lib/node_modules ???
        
        Wenn ich dann mit apt-get remove node wieder deinstalliere, kommen jede Menge Warnungen, dass das Verzeichnis /usr/local/lib/node_modules/… nicht leer ist.
        
        Wenn ich mit
        

        curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
        sudo apt-get install -y nodejs

        nodejs 4.4.0 installiere, dann habe ich folgened Bild in /usr/bin
        

        lrwxrwxrwx 1 root root 22 Mär 15 13:59 /usr/bin/node -> /etc/alternatives/node
        -rwxr-xr-x 1 root root 16176532 Mär 11 21:15 /usr/bin/nodejs
        -rwxr-xr-x 1 root root 26280 Mär 21 2015 /usr/bin/nohup
        lrwxrwxrwx 1 root root 38 Mär 11 21:15 /usr/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

        
        Er findet dann nicht die Pfade zu node oder npm?
        
        Was muss ich machen? Kann ich denn nodejs 4.4.0 über die Installation von ioBroker mit 0.12.6 überhaupt installieren?
        
        Auf einem leeren PI - wenn ich alles neu installiere - funktioniert alles.
        
        Ist das nur eine Frage der Symlinks oder muss ich komplett neu anfangen? Hoffentlich nicht!
        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          nobody
          schrieb am zuletzt editiert von
          #5

          Prinzipiell können die ausführbaren Dateien in jedem Verzeichnis liegen, das im Suchpfad liegt.

          Alle folgenden Aktionen mit User root ausführen.

          root@raspberrypi:/# echo $PATH
          /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
          
          

          Lösche mal die aktuelle Installation:

          apt-get remove nodejs
          
          

          Suche nach allen vorkommen von node und nodejs und lösche diese:

          cd /
          find -name node -type f
          find -name nodejs -type f
          
          

          Wichtig:

          in einem anderen Thread wurde hierfür find -name node -delete vorgeschlagen. Es existieren bei mir jedoch jeweils Dateien mit dem Namen node unter /proc/irq/[x]/node. Diese gehören nicht zu node.js und sind auch nicht zu löschen!

          Anschließend node.js neu installieren:

          apt-get install -y nodejs
          
          

          Falls der Symlink für node nicht automatisch angelegt wird ( node -v funktioniert nicht), dann noch folgendes:

          ln -s /usr/bin/nodejs /usr/bin/node
          
          
          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tp1de
            schrieb am zuletzt editiert von
            #6

            Danke für die Hilfestellungen :)

            Hatte in dem Thread den Vorschlag mit find -name node -delete schon gesehen.

            War mir aber etwas waghalsig…

            Ich habe nun mehrfach deinstalliert und installiert.

            Wenn ich das richtig sehe, hat folgender Befehl den Durchbruch gebracht:

            apt-get --purge remove node
            apt-get --purge remove nodejs
            

            D.h. der Parameter –purge scheint die notwendigen Files gelöscht zu haben.

            Dann hat die Installation mit

            curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
            sudo apt-get install -y nodejs
            ````auch funktioniert.
            
            Alles scheint nun mit node v4.4.0 zu laufen. npm ist 2.14.20.
            
            Manuell musste ich bei den Symlinks nicht eingreifen.
            
            Ich musste danach nur die Node-Red Version 0.13.2 neu installieren !
            
            Nun hab ich den zuerst beschriebenen Effekt:
            
            CPU-Nutzung nur ca. 30-40% im Vergleich zu node.js 0.12.6
            
            RAM ca. 18% frei und kein Swapping mehr im Vergleich zum massiven Swap (300MB) mit 0.12.6.
            
            Ich ziehe mir gleich mal ein Image zur Datensicherung. Nochmals vielen Dank.
            
            Wäre interessant zu erfahren, ob es bei anderen Forumteilnehmern ähnliche Änderungen beim
            
            CPU und Memory Verhalten gibt. Bei mir ist der Unterschied frappierend :)
            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mctom
              schrieb am zuletzt editiert von
              #7

              Hallo Tom,

              hattest du schon die nodejs Version 0_12_6 auf deinem System un dann die Schwierigkeiten bei der Deinstallation. Und war es ein blankes Jessie Image ?

              Ich versuche gerade eine neue Anleitung für PI3, Jessie und Nodejs 4 für die Homepage zu erstellen.

              Gruß

              MIchael

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tp1de
                schrieb am zuletzt editiert von
                #8

                Hallo Michael,

                Ich hatte ioBroker nach Vorgabe zusammen mit node.js v0.12.6 installiert.

                Läuft so schon einige Monate. Also, kein blankes System.

                Hatte dann einige Wochen mit Multihost experimentiert. Da ich erhebliche Performance Probleme hatte.

                Nun läuft alles auf einem PI3 - und siehe da extrem performant.

                Langzeittests stehen jetzt noch aus. Habe jetzt schon 2 Millionen Datensätze in der mySQL Datenbank.

                Muss mir was überlegen zur Komprimierung der Daten.

                Bei Neuinstallation mit dem aktuellen Jessie Image, funktioniert die direkte Installation soweit ich in Erinnerung habe.

                Kann ich morgen aber mal auf einem anderen PI ausprobieren, wenn das von Interesse ist.

                Grüße

                Thomas

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mctom
                  schrieb am zuletzt editiert von
                  #9

                  Hallo Thomas,

                  das wär klasse wenn du es noch einmal testen könntest, dann kann ich das mit in die Anleitung aufnehmen.

                  Gruß

                  Michael

                  1 Antwort Letzte Antwort
                  0
                  • OstfrieseUnterwegsO Offline
                    OstfrieseUnterwegsO Offline
                    OstfrieseUnterwegs
                    schrieb am zuletzt editiert von
                    #10

                    Kleiner Erfahrungsbericht:

                    Ich habe gerade einen PI-1 from scratch mit NOOB aufgesetzt.

                    Erwartungsgemäß war node in v0.10.29 instaliert.

                    Alles als root

                    Ich habe dann die aktuelle V4 mit

                    curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
                    sudo apt-get install -y nodejs
                    

                    dann ergibt aber

                    node -v
                    Ungültiger Machinenbefehl
                    

                    Die 5er versucht… gleiches Ergebnis

                    nodejs deinstalliert

                    apt-get --purge remove nodejs
                    apt-get autoremove
                    

                    Anderes Verfahren

                    wget http://node-arm.herokuapp.com/node_latest_armhf.deb
                    dpkg -i node_latest_armhf.deb
                    node -v
                    v4.2.1
                    
                    

                    Installation iobroker

                    cd /opt/iobroker
                    npm install iobroker
                    

                    Fehlermeldung

                    npm WARN cannot run in wd iobroker@0.7.1 node lib/setup.js (wd=/opt/iobroker/node_modules/iobroker)
                    iobroker@0.7.1 node_modules/iobroker
                    └── yargs@4.3.1 (decamelize@1.2.0, camelcase@2.1.1, window-size@0.2.0, require-main-filename@1.0.1, y18n@3.2.0, yargs-parser@2.1.1, lodash.assign@4.0.6, os-locale@1.4.0, string-width@1.0.1, cliui@3.1.0, read-pkg-up@1.0.1, pkg-conf@1.1.1)
                    
                    

                    google besucht und Empfehlung gefunden

                    npm install --unsafe-perm iobroker
                    

                    Scheint zu laufen.

                    Sagt mir, wenn ich noch was testen soll…

                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      tp1de
                      schrieb am zuletzt editiert von
                      #11

                      Bei mir ist es so, dass wenn ich node.js deinstalliere mit

                      apt-get --purge remove node
                      apt-get --purge remove nodejs
                      apt-get autoremove
                      

                      (Die 0.12.6 Version muss ich mit apt-get –purge remove node deinstallieren nicht nodejs!)

                      und dann neu installiere mit

                      curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
                      sudo apt-get install -y nodejs
                      ````dann muss ich erst rebooten, bevor die neue node.js läuft.
                      
                      Hab ich heute noch einmal auf einem anderen Pi probiert.
                      
                      D.h. der fehlende Reboot war mein Problem zuerst.
                      
                      D.h. ohne Reboot läuft es nicht fehlerfrei - danach ist alles wie es sein soll.
                      
                      Ich vermute erst danach wird der Pfad angepasst.
                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tp1de
                        schrieb am zuletzt editiert von
                        #12

                        Noch ein paar Ergänzungen:

                        1. Mit node 4.4.0 startet ioBroker nicht mehr automatisch nach reboot.

                        Manueller Start funktioniert

                        2. Mit node 4.2.1 funktioniert der Autostart wieder

                        wget http://node-arm.herokuapp.com/node_latest_armhf.deb
                        dpkg -i node_latest_armhf.deb
                        
                        

                        3. Mit````
                        apt-get --purge remove node
                        apt-get --purge remove nodejs
                        apt-get autoremove
                        reboot

                        
                        Reboot nicht vergessen !
                        
                        Ich wundere mich immer noch, dass der Memorybedarf in Abhängigkeit von der node.js Version so unterschiedlich ist. Node 4.2.1 funktioniert auch sauber.
                        1 Antwort Letzte Antwort
                        0
                        • andreA Offline
                          andreA Offline
                          andre
                          Developer
                          schrieb am zuletzt editiert von
                          #13

                          Hallo,

                          auch wenn das Thema hier schon gelöst ist, wollte ich doch noch einmal kurz meinen Senf dazu geben. :)

                          Habe mich gerade, nachdem ich das hier gelesen habe:
                          @Bluefox:

                          Ich möchte dazu ergänzen, dass ich neulich auf 4.3.1 umgestiegen bin und wurde auch die für die Installation emfehlen… `
                          spontan dazu entschlossen meine node.js Version ebenfalls hoch zu ziehen (auf 4.4.0). So hat es auch bei mir geklappt:
                          @tom57:

                          Bei mir ist es so, dass wenn ich node.js deinstalliere mit

                          apt-get --purge remove node
                          apt-get --purge remove nodejs
                          apt-get autoremove
                          

                          und dann neu installiere mit

                          curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
                          sudo apt-get install -y nodejs
                          ````dann muss ich erst rebooten, bevor die neue node.js läuft. `  
                          

                          Anschließend habe ich folgende Probleme gehabt:

                          1. Simple Web Adapter in "Bootschleife" (bedeutet Absturz "terminated with code 1" und anschließender Neustart des Adapters) und dadurch natürlich kein Zugriff auf Vis. Lösung: Ich hatte meinen Simple Web Adapter auf Port 80 laufen. Nach dem Löschen des Adapters über die Admin Oberfläche, sowie````
                          npm cache clean
                          npm install iobroker.web

                          
                          2\. Autostart/ Start über iobroker.sh funktioniert nicht mehr. Wie auch hier berichtet:
                          ~~@tom57:~~ 
                          
                          > 1\. Mit node 4.4.0 startet ioBroker nicht mehr automatisch nach reboot.
                          > 
                          > Manueller Start funktioniert `  Fehlermeldung sinngemäß: Pfad nicht gefunden.
                          
                          ****Lösung:**** Es reicht im Script den "angemeckerten" Pfad bzw. die Zeile zu ändern:
                          

                          NODECMD=/usr/local/bin/node

                          ändern in:
                          

                          NODECMD=node

                          Dann klappts auch wieder mit dem Nachbarn… ääähhh Starten...
                          
                          Mittlerweile habe ich alle Adapter durchgetestet. Funktioniert soweit, bzw. "wie vorher".
                          
                          Einen Effekt habe ich in der CPU-Auslastung meines Cubietruck nicht erkennen können. Momentan ist es aber tendenziell ein bisschen mehr Last (allerdings habe ich seit der Aktualisierung von node.js auch reichlich administriert und getestet, während der Zeitraum davor Leerlauf war):
                           ![914_cpu.jpg](/assets/uploads/files/914_cpu.jpg) 
                          Beim Memory sieht das Ganze deutlicher aus. In etwa 20% mehr Spreicher frei! Swap hatte ich aufgrund meiner 2GB Systemspeicher sowieso nicht…
                           ![914_memory.jpg](/assets/uploads/files/914_memory.jpg) 
                          
                          MfG,
                          
                          André

                          Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          724

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe