Thunderbird: Viele Einträge in 'top'

Dieses Thema im Forum "Anwendungen" wurde erstellt von hehejo, 14.08.2004.

  1. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Hallo,

    ich nutze die Fluxbox. Wenn ich nun den Thunderbird starte und dann 'top' ausführe, dann sehe ich das was ihr auch im Anhang sehen könnt.
    Warum sind da so viele Einträge von 'thunderbird-bin'?
    Was soll ein 'netstat <defunct>'?
    Und was macht eigentlich das 'run-mozilla.sh', wenn ich den Thunderbird mit 'mozilla-thunderbird &' aus der Konsole herraus starte?
     

    Anhänge:

    • top.jpg
      top.jpg
      Dateigröße:
      87,2 KB
      Aufrufe:
      17
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 thorus, 14.08.2004
    Zuletzt bearbeitet: 14.08.2004
    thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    In Linux werden Threads als Prozesse verwaltet. Die Anzeige des belegeten Speichers ist daher identisch und es wird logischerweise nur einmal im Speicher belegt.
    Da hat den Vorteil, dass man nicht extra das Handling von Threads implentieren muss und sich so einiges an Overhead sparen kann. ;)

    Das bedeutet, dass das ein Zombie ist.
    Zombie-Prozesse entstehen, wenn ein Prozess forkt (man 2 fork) und dann nicht auf die Beendigung dieses erzeugten Child-Prozesses wartet (man 2 wait).
    Zombieprozesse benötigen keinen Speicher, nur die paar KB der Taskstruktur (struct task_struct) in der Prozessliste im Kernel.

    Diese kernelinternen Sachen sind sind sehr schön im Buch von Robert Love namens "Linux Kernel Development" beschrieben.

    Einige Programme des Mozilla-Projekts werden automatisch von Scripts aufgerufen. Kein Grund zur Sorge. ;)
     
  4. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Vielen Dank für die guten Antworten!
     
  5. #4 qmasterrr, 15.08.2004
    qmasterrr

    qmasterrr Foren Gott

    Dabei seit:
    01.01.2004
    Beiträge:
    2.735
    Zustimmungen:
    0
    Ort:
    Germany/NRW/Wesel
    normalerweise sollte der kernel den zombie nach einiger zeit entfernen
     
  6. #5 thorus, 15.08.2004
    Zuletzt bearbeitet: 15.08.2004
    thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Wenn ein Zombie erstmal als Zombie markiert wurde, wird an daran auch nichts mehr geändert. Wie gesagt, es bleibt nur die Task-Struktur im Kernel allokiert. Ich finde das eigentlich nicht schlecht, weil man so besser Bugs aufdecken kann und das so gut wie keine Ressourcen benötigt.
    Aber du kannst ja die Kernel-Sourcen dahingehend verändern, sollte eigentlich ganz einfach sein. ;)

    Im 2.6er Kernel ist aber eine neue Routine eingebaut, die bei Beendigung des Parents das Child automatisch reparentet, meistens mit init, das sowieso dieses wait-Mechanismus eingebaut hat.
    Es kann also nur ein Zombie entstehen, wenn Parent und Child ausgeführt werden, der Child-Prozess sich beendet und danach sich der Parent-Prozess sich ohne wait()en beendet. In dem Fall wird das Reparenten nicht ausgeführt und wir haben einen Zombie. ;)

    EDIT:
    Ich hab jetzt zum Spass mal in den Kernel-Sourcen nachgeguckt. ;)
    Code:
    [kernel/exit.c:755]
    
        state = TASK_ZOMBIE;
        if (tsk->exit_signal == -1 && tsk->ptrace == 0)
            state = TASK_DEAD;
        tsk->state = state;
    Weiter unten steht dann:
    Code:
    [kernel/exit.c:791]
    
        /* If the process is dead, release it - nobody will wait for it */
        if (state == TASK_DEAD)
            release_task(tsk);
    So, hier kannst du noch eine Abfrage für den Fall, dass state == TASK_ZOMBIE ist einbauen, und schon haste kein Zombie-Prob mehr. ;)
    Code:
        if (state == TASK_DEAD || state == TASK_ZOMBIE)
            release_task(tsk);
     
  7. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    GEIL!
    So was finde ich einfach nur GEIL!
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Thunderbird: Viele Einträge in 'top'

Die Seite wird geladen...

Thunderbird: Viele Einträge in 'top' - Ähnliche Themen

  1. Thunderbird 31 als ESR-Version mit vielen Fehlerbereinigungen

    Thunderbird 31 als ESR-Version mit vielen Fehlerbereinigungen: Zusammen mit der neuen Version Firefox 31 ist auch der in letzter Zeit nicht mehr aktiv weiterentwickelte Mail-Client Thunderbird in Version 31...
  2. Mozilla will Thunderbird eine neue Heimat schaffen

    Mozilla will Thunderbird eine neue Heimat schaffen: Eine Projektausschreibung und ein Report auf den Webseiten von Mozilla leiten die endgültige Trennung von Thunderbird und Firefox ein. Weiterlesen...
  3. Thunderbird 45 freigegeben

    Thunderbird 45 freigegeben: Das Thunderbird-Team hat den freien E-Mail-Client in Version 45 freigegeben. Gegenüber dem Vorgänger gibt es eine ganze Reihe neuer Funktionen....
  4. Thunderbird soll aus Mozillas Infrastruktur ausgegliedert werden

    Thunderbird soll aus Mozillas Infrastruktur ausgegliedert werden: In einem ausführlichen Eintrag auf der Mozilla-Mailingliste argumentiert Mitchell Baker, Vorsitzende der Mozilla Foundation, für eine...
  5. thunderbird plugin für unterschiedliche mail absender (postifx)

    thunderbird plugin für unterschiedliche mail absender (postifx): rm me rm me:devil: