Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Unterschiedliche node.js Versionen mit Node-Red und Speicherauslastung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nobody last edited by

      @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 Reply Last reply Reply Quote 0
      • T
        tp1de last edited by

        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 Reply Last reply Reply Quote 0
        • N
          nobody last edited by

          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 Reply Last reply Reply Quote 0
          • T
            tp1de last edited by

            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 Reply Last reply Reply Quote 0
            • M
              mctom last edited by

              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 Reply Last reply Reply Quote 0
              • T
                tp1de last edited by

                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 Reply Last reply Reply Quote 0
                • M
                  mctom last edited by

                  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 Reply Last reply Reply Quote 0
                  • OstfrieseUnterwegs
                    OstfrieseUnterwegs last edited by

                    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 Reply Last reply Reply Quote 0
                    • T
                      tp1de last edited by

                      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 Reply Last reply Reply Quote 0
                      • T
                        tp1de last edited by

                        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 Reply Last reply Reply Quote 0
                        • andre
                          andre Developer last edited by

                          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é
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

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

                          824
                          Online

                          31.9k
                          Users

                          80.3k
                          Topics

                          1.3m
                          Posts

                          6
                          13
                          3878
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo