Raspberry PI 3 dauerhaft <99% CPU Auslastung

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Abend,

    habe meinen Raspberry PI eingerichtet (TOR,VNC,DynDNS).
    Nun hat er, wenn ich mit VNC draufschaue immer <99% CPU Auslastung.

    Auf der Google Suche bin ich über den Befehl

    Zitat

    top

    gestolpert und habe ihn direkt angewendet.
    Nun kann ich als Linux Newbie nicht viel mit dem Ergebnis anfangen, da es für mich nicht erklärbar ist.

    Bild vom Befehl top

    Kann wer mir Tipps geben um die CPU Auslastung zu senken?

  • Der top-Befehl zeigt die Auslastung des Systems an und ist Bestandteil jeder Linux-Distribution. Über die Anweisung

    Code
    man top


    erhält man eine Beschreibung des top-Kommandos. Das Linux-Kommando

    Code
    man xxx

    startet die sogenannten "manual pages" (Hilfesystem) von Linux zum angegebenen Programm xxx, sofern xxx in der man-Textdatenbank hinterlegt ist. Da kannst Du die Details zum angegebenen Kommando nachlesen.

    Kurz:
    jede Zeile in der Ausgabe von top listet einen Linux-Prozess (Programmaufruf) und zeigt dessen Anteil an der Auslastung an. Dabei wird die Liste absteigend sortiert, d.h. der Prozess, der die meisten Ressourcen verbraucht, erscheint ganz oben. Deswegen ändert sich die Reihenfolge auch.

    Spalte PID: Eindeutige Prozess-ID des Linux-Prozesses.
    Spalte USER: Die Linux-Kennung, die den Prozess gestartet hat
    Spalte PR: Priorität
    Spalte NI: "nice"-Wert: Zuteilung von CPU-Zeiten: je höher der Wert, umso weniger Rechenzeit
    Spalte VIRT: ?
    Spalte RES:
    ?
    Spalte SHR: ?
    Spalte S: S für sleeping, R für running
    Spalte %CPU: prozentuale Auslastung des Prozessors
    Spalte %MEM: prozentuale Auslasung des Hauptspeichers
    Spalte TIME+: Laufzeit oder CPU-Zeit (ich weiß es nicht genau) des Prozesses
    Spalte COMMAND: Programmname

    Ich hoffe ich konnte die Funktion von top mit dieser lückenhaften Kurzbeschreibung mal halbwegs andeuten...

    schlizbäda
    Automatisch zusammengefügt:
    Die fotografierte Anzeige sieht so aus, als ob Du einen RPi2 oder RPi3 (also einen mit 4 CPU-Cores) hast, die fast gänzlich ausgelastet sind.
    Dein TOR-Router(?) braucht offenbar 20,7% von einem CPU-Core.

    Wenn Du das Konsolenfenster größer ziehst, werden auch mehr Zeilen angezeigt und Du siehst mehr Prozesse. Welche Prozesse hier aber genau gestartet wurden, weißt Du selbst am besten und kannst die Ausgabe somit selbst am besten beurteilen.

    Wobei ich die Ausgabe der einzelnen Prozessorkerne (die ersten 4 Zeilen mit COMMAND="arm") so nicht kenne. Kann aber auch sein, dass meine Interpretation völlig falsch ist. Ich schloss halt darauf, weil sie in Summe an die 400% gehen...
    Aber ich muss auch zugeben, ich bin (und bleibe wohl) ein ewiger Linux-Noob!


  • habe meinen Raspberry PI eingerichtet (TOR,VNC,DynDNS).
    Nun hat er, wenn ich mit VNC draufschaue immer <99% CPU Auslastung.

    Meinst du wirklich < 99% ? :-/

    < bedeutet: kleiner

    <99% wäre also eigentlich kein Problem :fies:

    Vermutlich meinst du > 99% ... also GRÖßER :s


    Bei "top" kann man nicht erkennen welcher der Cores bzw ob alle Cores ausgelastet sind, das kann man m.E. nur bei "htop" sehen. Müsstest du gesondert installieren.
    Dem Foto kann man nur entnehmen dass 97% von USer Prozessen beansprucht werden und der entsprechende Befehl mit "arm" beginnt .. Drück in top mal die Taste "c" um den kompletten Prozessnamen zu sehen.

  • Dein Bild zeigt dass ein commando 'arm' gestartet nvom user 'debian-+' die CPU's belegt.

    Keine Ahnung was das ist, hab ich noch nie gesehen., hast eventuell einen Benchmark oder irgenwas sonst gestartet?

    Lade mal ganz normales Jessie von Raspian direkt (ohne noobs) und dann sollte das nicht auftauchen.

    Frank

    Nach 35 Jahren im IT business hab ich mit Raspi mal selbst zum Programmieren begonnen...
    Habe auch einen 3D-Drucker, eine CNC-Fräse und etwas Elektronik-Bastelei als Hobby


  • habe meinen Raspberry PI eingerichtet (TOR,VNC,DynDNS).
    ...
    Nun kann ich als Linux Newbie nicht viel mit dem Ergebnis anfangen, da es für mich nicht erklärbar ist.


    Hallo kselight,

    die beiden Zeilen da oben vertragen sich imho ganz und gar nicht. Du kannst also mit der Anzeige von top nichts anfangen, hast aber wirklich komplexe Dinge wie TOR und DynDNS (zur Erreichbarkeit aus dem Netz?) installiert - DAS würde ich jetzt mal nicht mehr als mutig berzeichnen - in dieser Kombination solltest Du schon sehr genau wissen, was Du tust.

    WENN Du also im Laufe Deiner Installationen irgendwann

    - das Passwort von pi geändert hast UND
    - Deinen RaspberryPi bei Zugriffen von aussen auf irgendeine Weise abgesichert hast UND
    - den Nutzer "debian-...." selbst angelegt hast (oder zumindest weisst, wo der herkommt) UND
    - den angezeigten Prozess "arm" irgendwie erklären kannst im Sinne von: habe ich dieses oder jenes installiert und gestartet

    DANN könnstest Du Dir Gedanken darüber machen, die Auslastung zu senken.

    SONST solltest Du die Kiste erst mal vom Netz trennen und evt. gleich plätten. Zumindest ist es nicht nur theoretisch möglich, dass jemand ein paar lustige Sachen unter auf dem ersten Blick harmlosen Namen aktiviert hat - das hat Tradition.

    Gruß, STF

  • Da die merkwürdigen arm-Prozesse unter der gleichen Nutzer-ID wie tor zu laufen scheinen, würde ich da einen Zusammenhang vermuten. Führ doch mal ein

    Code
    pstree -laup

    aus, das listet Dir alle Prozesse in einer Baumstruktur, da kannst Du sehen, wer da was startet. Den Output am besten noch mal hier posten. Oder gleich STFs Vorschlag folgen...

  • Von der TOR Projekt-Seite:

    Zitat

    [font="Helvetica, Arial, sans-serif"]13. You might like to use the [/font][font="Helvetica, Arial, sans-serif"]arm[/font][font="Helvetica, Arial, sans-serif"] relay monitor to watch your relay's activities from the command line. First, "sudo apt-get install tor-arm". Second, as the user that will be running arm, run "sudo adduser $USER debian-tor" to add your user to the debian-tor group so it can reach Tor's controlsocket. Then log out and log back in (so your user is actually in the group), and run "arm".[/font]

    User debian-+ und Command arm ergeben damit schon Sinn. debian-tor wird in top wegen der Länge zu debian-+.

    Warum das dann gleich vier Mal läuft und CPU verbratet kann ich aber auch nicht sagen. Ich kenne auch tor nicht, hab nur mal kurz gegoogelt. Das Darknet interessiert mich nicht und im übrigen finde ich auch, dass man schon genau wissen sollte, worauf man sich einlässt, wenn man ein solches Projekt angeht.


  • Das Darknet interessiert mich nicht und im übrigen finde ich auch, dass man schon genau wissen sollte, worauf man sich einlässt, wenn man ein solches Projekt angeht.


    Was hat TOR mit dem sogenannten "Darknet" (bzw. dem illegalen Touch, den dieses Unwort impliziert) zu tun? Bei der Nutzung von TOR geht es doch in erster Linie darum, die heutzutage allgegenwärtigen Datenkraken im Internet (einigermaßen) auszubremsen...

  • Ich hatte das auch,


    Bei mir lags an der Swapfile die den Arbeitsspeicher auf die Sd verlagert vorallem wenn bestimmte informationen gerade nicjt genutzt werden weil die nur in hintergrunf/inaktiv sind.

    Wie man diese swapfile entfernt bzw abschaltet findet man relativ gut erklärt auf google.

  • weil's mich einfach selbst interessiert und ich auch schon immer einen TOR-Router haben wollte und jemand in >> diesem Thread << eine Frage zu TOR gestellt hat:

    Ich habe nach dieser Anleitung >> https://raspberry.tips/raspberrypi-tu…erwenden-anopi/ << unter Raspbian Jessie Lite einen TOR-Router auf einem RPi 1B+ erstellt und mir mal mit top die Auslastung auf meinem RPi angesehen:

    Die Benutzerkennung debian-+ gibt's bei mir auch, die kommt (wie oben beschrieben) von der TOR-Gaudi und scheint normal zu sein.

    Im idle-Betrieb, also wenn sich kein anderes Gerät damit verbindet, beträgt die CPU-Auslastung ca. 0,3%, die Speicherauslastung 4,3%

    Im echten Betrieb (AC/DC "Highway to Hell" über Youtube) schwanken die Werte so zwischen 3% und 20% CPU-Auslastung. Ich werde jetzt gleich noch prüfen, ob ohne TOR der GEMA-Hinweis kommt :)

    EDIT:
    ...Ach da war was, den GEMA-Hinweis gibt's ja irgendwie nicht mehr, youtube und die GEMA haben sich doch irgendwie geeingt. Da brauchst den Schmarrn einmal tatsächlich und dann funzt er nicht einmal :baeh2: Ich bin bei diesem Versuch definitiv NICHT über TOR auf Youtube gegangen.

    schlizbäda


  • Bei mir lags an der Swapfile die den Arbeitsspeicher auf die Sd verlagert vorallem wenn bestimmte informationen gerade nicjt genutzt werden weil die nur in hintergrunf/inaktiv sind.

    Wie man diese swapfile entfernt bzw abschaltet findet man relativ gut erklärt auf google.

    Ich glaube da vercheckst du etwas.

    Bevor man daher geht und SWAP deaktiviert, sollte man sich lieber erst darüber schlau lesen wofür SWAP ist und wann SWAP verwendet wird.

    SWAP kann wichtig sein. Hat ein System kein SWAP, der RAM aber voll ausgelastet, kann das zum willkürlichen Beenden von Prozessen führen da der Kernel-Scheduler dann versucht RAM frei zu kriegen, indem er einfach irgendwelche Prozesse beendet. Das oder zu wenig RAM kann u.U. auch dazu führen dass das System crasht.

    Linux handhabt RAM aber auch anders als zum Beispiel Windows: Leerer Speicher ist verschwendeter Speicher. Windows versucht so viel RAM wie möglich frei zu halten, Linux hingegen verlagert freien RAM nach und nach in den sog. Cache/Buffer. Wer also "free" betrachtet wird auf den ersten Blick denken das kein RAM mehr frei wäre... Wer dann aber die "buffers/caches" Zeile beachtet wird schnell eines besseren beleert. Es sei denn es ist wirklich nicht mehr genug RAM frei aber auch kein SWAP vorhanden....
    Beispiel:

    Code
    # free -m
                 total       used       free     shared    buffers     cached
    Mem:         64378      63950        427       1273        983      59117
    -/+ buffers/cache:       3849      60528
    Swap:            0          0          0
    # uptime
     19:21:55 up 287 days,  2:07,  1 user,  load average: 0,98, 0,51, 0,33


    Das System hat 64GB RAM.
    Die erste Zeile spricht davon das nur noch 427MB frei wären, die zweite Zeile besagt aber das 60GB in Form von buffers/cache noch frei sind.

    Der Pi3 hat aber nur 1GB RAM, was heutzutage vergleichsweise ziemlich wenig ist - nicht fürs Basteln, aber für Server / Desktop durchaus.


    Deshalb finde ich es fatal mit gefährlichem Halbwissen pauschal zu sagen: deaktiviere SWAP damit es funktioniert.


    Wenn ein Pi1 (der nur 512MB RAM und auch nur SingleCore mit 700MHz hat) mit TOR nur zu max. 20% ausgelastet wird - wieso wird ein Pi3 (mit 1GB RAM und QuadCore mit 1200MHz) zu 99% ausgelastet? :s
    Das lässt sich IMHO nicht mit SWAP beantworten/lösen. Da liegt das Problem tiefer, evtl. an der jeweiligen Konfiguration, am Netzwerk oder an dem was über TOR abgewickelt wird.

    Da sich kselight seither aber nicht mehr angemeldet hat, kann man nur weiter Rätsel raten

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!