Gibt es eine nicht beängstigende Erklärung für die Speichernutzung von Finder?

OS X El Capitan 10.11.6. MacBook Pro (Retina, 13 Zoll, Anfang 2015).

Geben Sie hier die Bildbeschreibung ein

Bitte fügen Sie heap Finder/ heap -sumObjectFields -showSizes Finderoder heap $pidmit $pid: pid von Finder hinzu (im obigen Beispiel ist das 261). Xcode/Xcode cl-Tools müssen jedoch installiert sein! Activity Monitor ist hier nicht sehr hilfreich.
Bleibt dieses Problem nach dem Neustart bestehen? Ist es immer bei 6 GB oder fängt es normal an und geht dann hoch?
Tatsächlich habe ich sofort nach dem Posten dieser Frage einen Neustart durchgeführt, und das Problem ist nicht erneut aufgetreten. Dies ist auch der Grund, warum ich keine Ausgabe von gepostet habe heap, wie @klanomath vorschlägt, obwohl ich das Programm ausgeführt habe und mich darüber ärgere, dass ich nie wusste, dass es existiert. Ich werde mehr raten, wenn das Problem erneut auftritt, aber im Moment bin ich mir nicht sicher, was ich tun kann.

Antworten (3)

Ich würde mir keine Gedanken über Speicherprobleme machen, bis es Druck oder ein Problem gibt - insbesondere wenn die Dinge nach einem Neustart sauber sind, wie Sie in den Kommentaren berichten. Wenn der Finder einen schrecklichen Fehler hätte, könnten Sie und alle anderen ihn reproduzieren und 6 GB benötigen. Tatsächlich erwarte ich bei einem erheblichen Leck 10-mal so viel Zuweisung, unkontrolliertes Wachstum/Austausch von Auslagerungsdateien und hohen Speicherdruck in kurzer Zeit.

Da Sie keines davon haben, würde ich dies bestenfalls einem vorübergehenden Zustand oder einem schwer auszulösenden Randfall zuschreiben.


Das System ist so konzipiert, dass es den gesamten verfügbaren Speicher nutzt, da der Speicherzugriff schneller ist als der Netzwerk- oder Speicherzugriff. Selbstverwaltete Systeme können die Zuweisungen reduzieren, wenn Sie andere Anforderungen haben. Was Ihr Snapshot zeigt, ist, dass nichts anderes RAM benötigt, also verwendet das System alles für andere Aufgaben.

Ich sehe selten Finder mit viel Speicher im GB-Bereich, sodass Sie möglicherweise etwas zuordnen können, das Sie steuern können, aber trotzdem - Ihre Bildschirmaufnahme weist keine Anzeichen von Druck auf. Sie können sich die Zuweisungen von Finder ansehen oder versuchen, Dropbox zu entfernen, um zu sehen, ob es Lecks gibt. Selbst wenn der Finder undicht ist, richtet er (vielleicht noch) keinen Schaden an. Sie können sich auch abmelden und wieder anmelden. Wenn Sie die RAM-Nutzung / Drucknutzung stündlich für mehrere Stunden überprüfen, können Sie schnell feststellen, ob der Finder tatsächlich Speicher verliert oder ob Sie nur ein Nutzungsmuster haben, bei dem viel zugewiesen wurde RAM und hat es noch nicht veröffentlicht.


Wenn Sie es wissen müssen, lässt der Heap-Befehl jeden seine aktuellen Finder-Zuweisungen diagnostizieren:

$ heap Finder|more
Process:         Finder [853]
Path:            /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Load Address:    0x1071b6000
Identifier:      com.apple.finder
Version:         10.14.5 (1143.5.1)
Build Info:      Finder_FE-1143005001000000~1
Code Type:       X86-64
Parent Process:  ??? [1]

Date/Time:       2019-05-21 06:36:12.965 -0500
Launch Time:     2019-05-19 09:56:56.140 -0500
OS Version:      Mac OS X 10.14.5 (18F132)
Report Version:  7
Analysis Tool:   /Applications/Xcode.app/Contents/Developer/usr/bin/heap
Analysis Tool Version:  Xcode 10.2.1 (10E1001)

Physical footprint:         31.5M
Physical footprint (peak):  33.9M
----

Process 853: 4 zones

All zones: 90996 nodes malloced - Sizes: 300KB[1] 172KB[1] 132KB[2] 68KB[19] 60KB[1] 56KB[2] 48KB[2] 44KB[4] 40KB[1] 36KB[1] 30.5KB[1] 27KB[1] 24KB[1] 22.5KB[1] 22KB[4] 19.5KB[2] 18KB[1] 17KB[1] 16.5KB[2] 16KB[2] 14.5KB[5] 14KB[3] 13.5KB[3] 13KB[3] 12.5KB[4] 12KB[1] 11KB[1] 10.5KB[1] 10KB[5] 9.5KB[3] 9KB[4] 8.5KB[20] 8KB[13] 7.5KB[5] 7KB[6] 6.5KB[4] 6KB[4] 5.5KB[9] 5KB[16] 4.5KB[17] 4KB[43] 3.5KB[21] 3KB[62] 2.5KB[119] 2KB[144] 1.5KB[243] 1KB[63] 1008[3] 992[9] 976[3] 960[15] 944[4] 928[6] 912[5] 896[28] 880[24] 864[9] 848[6] 832[13] 816[9] 800[3] 784[15] 768[22] 752[11] 736[4] 720[7] 704[13] 688[14] 672[63] 656[17] 640[2] 624[32] 608[24] 592[25] 576[120] 560[10] 544[15] 528[219] 512[94] 496[23] 480[9] 464[59] 448[34] 432[85] 416[179] 400[59] 384[39] 368[91] 352[60] 336[615] 320[1231] 304[275] 288[196] 272[690] 256[364] 240[129] 224[1329] 208[253] 192[1413] 176[348] 160[354] 144[1809] 128[2413] 112[6448] 96[3460] 80[5112] 64[21054] 48[20747] 32[14405] 16[5997] 

Found 1231 ObjC classes
Found 214 CFTypes

-----------------------------------------------------------------------
All zones: 90996 nodes (12977600 bytes) 

    COUNT     BYTES       AVG   CLASS_NAME                                       TYPE    BINARY
    =====     =====       ===   ==========                                       ====    ======
    21548   5467536     253.7   non-object                                                                 
    16751   1044544      62.4   CFString                                         ObjC    CoreFoundation    
     5222    334208      64.0   CFDictionary                                     ObjC    CoreFoundation    
     5029    748640     148.9   CFDictionary (Value Storage)                     C       CoreFoundation    
     4836    710864     147.0   CFDictionary (Key Storage)                       C       CoreFoundation    
     3485    167280      48.0   NSMutableArray                                   ObjC    CoreFoundation    
     3421    134912      39.4   NSMutableArray (Storage)                         C       CoreFoundation    
     1540    147808      96.0   NSURL                                            ObjC    CoreFoundation    
     1208    386560     320.0   _FileCache                                       CFType  CoreServicesInternal
     1016     65024      64.0   TPropertyInfo                                    C++     DesktopServicesPriv
Das ist eigentlich nicht richtig. Der Kernel kommuniziert in dieser Hinsicht nicht mit Finder.app, um Finder RAM freizugeben, wenn das System unter Druck steht, und es ist auch nicht die Aufgabe von Finder.app, Dateien zwischenzuspeichern.
@jksoegaard Ich nehme an sysdiagnose Finder, oder ein Äquivalent würde Ihren Kommentar beantworten. Sind Sie anderer Meinung, dass es kein Problem gibt, bis der Gedächtnisdruck entsteht? Oder nur mit Vereinfachung beschäftigt. Ich würde wetten, dass Dropbox undicht ist, aber ich bin anderer Meinung, dass die Situation mit grünem Druck „beängstigend“ ist.
Nein, sygdiagnose wird sie nicht beantworten - es war keine Frage, die ich gestellt habe, ich nehme es als Tatsache an, dass es nicht die Aufgabe von Finder ist, Dateien für das System zwischenzuspeichern, noch eine Art Memory-Ballooning-Funktion zu haben. Ich widerspreche Ihnen nicht, ob es sich um ein "Problem" handelt - aber das wurde hier nicht gefragt. psoft bat um eine Erklärung, warum, nicht ob es ein Problem ist oder nicht. Es ist völlig in Ordnung, vereinfachte Erklärungen abzugeben – aber sie müssen immer noch eine Essenz der Wahrheit haben. Dh "im Allgemeinen passiert das, aber viele Einzelheiten werden ausgelassen" - Ihre Erklärung tut dies nicht.
Danke, ich habe die Teile entfernt, die ich als falsch angesehen habe. Finder ist weder für das Zwischenspeichern von Dateien verantwortlich, noch deutet eine hohe Speichernutzung durch Finder darauf hin, dass dies im Vergleich zum Festplatten- oder Netzwerkzugriff zur Beschleunigung verwendet wird. Auch die Speicherzuweisung von Finder wird nicht automatisch reduziert, wenn der Speicher spärlich ist. Es tut mir leid, wenn Sie es aggressiv oder beleidigend finden - ich komme nur aus der Perspektive der Informatik und möchte, dass die Fakten korrekt sind. Es gibt so viele Missverständnisse und "Mythen" über die Speichernutzung und den Aktivitätsmonitor im Allgemeinen.
Danke. Ich habe einen chirurgischeren Ansatz gewählt und „kann“ erweitert – ältere Betriebssysteme hatten einfachere Zuweisungsstrategien – apple.stackexchange.com/questions/67031/… – wissen Sie sicher, dass der aktuelle Finder nicht gelöscht wird, oder sind Sie es? Annehmen oder auf Erfahrungen aus der Vergangenheit zurückgreifen?
In der von Ihnen verlinkten Diskussion geht es um etwas anderes. Es spricht zum Beispiel von "inaktivem Speicher", aber im Allgemeinen spricht es vom Speicher, der vom Kernel selbst verwaltet wird. Diese Frage bezog sich auf den von Finder.app selbst zugewiesenen Speicher. Wenn Finder.app Speicher zuweist, kann der Kernel per se nicht wissen, wofür er ihn verwenden wird - und daher kann er nicht wissen, ob er diese Speicherzuweisung rückgängig machen kann, ohne dem Programm Schaden zuzufügen. Aus diesem Grund müssen Programme die Speicherzuweisungen selbst an das Betriebssystem zurückgeben, und warum treten Lecks auf, wenn sie dies vergessen.
Und ja, ich weiß genau, dass die aktuelle Finder.app nicht "löscht". Sie verwechseln dort zwei verschiedene Arten von Speicherzuweisungen. Bei "Purge" geht es darum, Speicher zurückzunehmen, den der Kernel für das Disk-Caching verwendet hat. Diese Art von Speicher wird vom Kernel selbst zugewiesen – er wird nicht von einem Programm wie Finder.app zugewiesen und würde daher nicht in seiner Auflistung im Aktivitätsmonitor angezeigt. Sie können also ein Programm im Allgemeinen nicht "löschen".
Nur sehr wenige spezialisierte Programme bieten die Möglichkeit, Speicher auf Anfrage zurückzugeben. Dies ist eine Technik, die als "Ballooning" (und andere Namen) bekannt ist. Unter OS X ist es beispielsweise in VMware Fusion implementiert - aber nicht in Finder.app. Normalerweise findet man solche Funktionen nur in sehr spezialisierten Programmen wie Datenbankservern und dergleichen. Das heißt, Programme, die davon ausgehen, dass der Benutzer möchte, dass sie alle verfügbaren Systemressourcen verwenden, da sie das am häufigsten ausgeführte Programm sind.
Diese Antwort ist völlig falsch.

Ich sehe zwei Erklärungen für die Verwendung:

Entweder haben Sie etwas in den Finder geladen, das viel Speicher beansprucht (ich habe keine Ahnung, was das sein sollte), oder Sie haben einen Fehler im Finder ausgelöst, sodass Speicher verloren geht.

Wenn Sie glauben, dass die Speichernutzung auf einen Fehler zurückzuführen ist, können Sie den Finder jederzeit beenden, damit er neu startet – die Speichernutzung sollte sofort sinken.

Finder beenden bedeutet ?
Es bedeutet, das Programm zu schließen - es startet automatisch neu.
Ich war mir nicht sicher, ob es beendet werden könnte. Ist es sicher ?
Ja, absolut sicher. Halten Sie einfach die Strg- und die Wahltaste gedrückt und klicken Sie mit der linken Maustaste auf das Finder-Symbol im Dock – dann sehen Sie „Neu starten“. Klicken Sie darauf und es startet sich neu.

Nein, da ist kein.

Überprüfen Sie auf jeden Fall Ihren Finder > Einstellungen > Neues Finder-Fenster anzeigen: (wählen Sie etwas anderes als „Alle meine Dateien“), auch wenn Sie dies in der Vergangenheit bereits getan haben, da es sich von selbst zurücksetzt, weil es wirklich schlechte Software ist.

Es ist jedoch nichts Bösartiges, nur schlechte Software. Versuchen Sie es mit GNU/Linux.

Sagen Sie, die Situation ist beängstigend oder die Situation ist nicht beängstigend? Ich hatte noch nie ein Problem mit All My Files, das hängengeblieben ist (oder gesehen habe), dass Sie es nicht entfernen oder vermeiden können. Vielleicht haben Ihre Installationen etwas anderes nicht in Ordnung.
@bmike Oben auf der Seite steht eine Frage, die Antwort beginnt mit der Beantwortung dieser Frage. / Dann hast du gar nicht hingesehen.
Verzeihen Sie mir, dass ich durch eine dreifache Verneinung verwirrt bin. Ihre Antwort ist eine doppelte Verneinung und der Titel der Frage ist eine einfache Verneinung. Der Redakteur in mir möchte das klarstellen. Aber Sie müssen nicht zustimmen oder versuchen, Ihren Beitrag zu klären, wenn Sie denken, dass ich nicht einmal hinschaue. Ich weiß die Klarheit Ihres Kommentars zu meiner Antwort zu schätzen - es gibt keine negativen Aspekte, die Sie sich entspannen können.
Dir ist nicht vergeben.