• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick
  • Auch in diesem Jahr möchten wir auf unserer Webseite mit einem passenden Banner etwas weihnachtliche Stimmung verbreiten. Jeder Apfeltalker kann, darf und sollte uns einen Banner-Entwurf zusenden, wie und wo das geht, könnt Ihr hier nachlesen --> Klick

Speicher / Ram freiräumen ...

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Es gibt das Problem, dass einige Anwendungen den verwendeten Speicher (RAM) nicht freigeben, wenn sie beendet werden. Dies kann in einigen Fällen für schleppendes Arbeiten im Anschluss sorgen. Vor allem im Langzeitbetrieb oder bei speicherhungrigen Programmen kann das stören, obwohl OS X insgesamt eine sehr gute Speicherverwaltung hat und für einen sehr guten Arbeitsfluss sorgt. In der Aktvitätsanzeige kann man (wenn es zu merklichen Performanceeinbußen kommt) nachvollziehen, wie der Speicher ausgelastet sein mag. Grundsätzlich muss man dabei natürlich vorrausschicken: genutzter Speicher ist immer auch sinnvoll eingesetzter Speicher. Dennoch kann es zu Engpässen kommen. Und wer sich behelfen möchte, kann dies mittels eines schlichten Terminal-Befehls sogleich unternehmen.

Dazu installiert man sich die von Apple veröffentlichten Developer Tools: CHUD
http://mac.softpedia.com/get/Developer-Tools/Apple-CHUD-Tools.shtml

Einmal installiert, genügt der schnell erledigte Aufruf via Spottlight von >Terminal< und dort die Eingabe des Befehls: purge

Idealerweise hat man vorher die Aktivitätsanzeige geöffnet, um nun mitzuverfolgen, wie OSX mal eben den RAM freiräumt, also auch Speicher freimacht, der vormals von vielleicht speicherhungrigen Programmen oder verbuggten Apps nicht freigegeben wurde.

Anschließend werden auch vormals bereits geöffnete Programme natürlich wieder erst langsamer geöffnet (wie beim Erststart der jeweiligen Account-Session), da erneut sämtliche Bibliotheken geladen werden müssen. Aber nach Verwendung von speicherintensiven Programmen, die ihren Speicher nicht freigeben, oder im Langzeitbetrieb ohne Neustart kann dies verschmerzbar sein.

(Alternativ geschieht das Freiräumen des RAMs auch über das Reparieren der Zugriffsrechte mit dem Festplattendienstprogramm. Aber dies dauert elend lang. Auch die Verwendung von Tools wie iFreeMem wird damit obsolet. Die elegantere und sogar schnellere Lösung ist der Purge-Befehl via Terminal. )
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Danke für den Tipp.

Aber wird der inaktive Arbeitsspeicher nicht einfach bei Bedarf überschrieben? Möglicherweise muss das OS erst prüfen, was genau überschrieben werden darf und daher kommt, die von dir beschriebene, Schleppe.
 

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Ja, die Prüfung bei vollständig genutztem Speicher ist natürlich ein Grund, dass es zu Verzögerungen kommen kann, auch wenn diese bestimmt meistens gar nicht auffallen, wenn das System sonst keine Bremsen/Probleme mitbringt. Zumindest bei wirklich genutzter und damit sinnvoller Speicherauslastung beginnt OS X auch zu swappen. Auch dies erledigt OS X ja in der Regel unauffällig, so dass man auch im Langzeitbetrieb keinen Blick auf die Aktivitätsanzeige werfen muss bzw. sollte, um sich u.U. irritieren zu lassen (es gibt ja auch so einige Spezis, die unablässig die Speicherangaben analysieren, ohne dass Eingriffe einen echten Performancezweck erfüllen würden).

Es gibt aber auch unterschiedliche Szenarien, in denen OS X die entsprechenden Aufgaben anscheinend nicht zufriedenstellend erledigt bzw. erledigen kann, weil verbuggte Programme das eigentliche Problem darstellen. Häufig sind dies Spiele, die das anschließende Arbeiten mit Produktivprogrammen zäh werden lassen können. Viele behelfen sich dann mittels eines Neustarts ihres Macs. Bestimmte Medien können ebenso problematisch ausfallen. Da wird dann bspw. beim Abspielen einer DVD der gesamte Speicher ausgenutzt, was im Anschluss für äußerst zähes Arbeiten sorgen kann. Im Langzeitbetrieb kann es zu Engpässen diesbezüglich kommen bzw. kann zumindest der Wunsch entstehen, einfach mal den Speicher aufzuräumen, ohne einen Neustart des Macs durchlaufen zu müssen (manchmal wohl auch irrational bedingt, um einer gewissen 'inneren Ordnung' willen, aber auch häufig nachvollziehbar, weil Speicher tatsächlich nicht freigegeben worden ist und Performanceeinbußen die Folge sein können).

Persönlich konnte ich am deutlichsten einen Gewinn während des Langzeitbetriebs ausmachen. Hier sind mir vor allem virtuelle Maschinen negativ aufgefallen. Arbeitskollegen machen die Beobachtung bei einigen Schnittprogrammen, aufwendiger Videobearbeitung usw. Viele behalfen sich dann mit einem Neustart des Macs. Häufig mehrfach täglich. Der Purge-Befehl sollte dies erübrigen, auch wenn regelmäßige Neustarts bestimmt zur Betriebspflicht gehören (wenn auch bestimmt nicht täglich), da ja auch einiges an Maintenance-Aufgaben erledigt wird.

Was man bestimmt nicht unternehmen sollte, ist ansonsten der bannende Blick auf die Aktivitätsanzeige (beobachte ich manchmal bei einem Arbeitskollegen). Dieser lässt sich gerne von den Daten dort irritieren und hat sich gewisse 'Grenzwerte' gesetzt, die völlig jenseits der Notwendigkeit runden Betriebs angesiedelt sind. Die meisten wissen ansonsten ja, wann ihr Mac zäh läuft und evtl. der Versuch lohnen könnte, dies mittels des Purge-Befehls zu beheben.

Nota bene:
In bestimmten Fällen kann übrigens die Deaktivierung des 'Swappings' für überraschend deutliche Vorteile bzgl. der Gesamtperformance des Macs sorgen. Vor allem Systeme ab 4 GB RAM können hier profitieren, zumindest wenn im Betriebsalltag nicht Programme verwendet werden, die häufig mehr als den physischen RAM beanspruchen. So oder so kann man umstandslos ausprobieren, ob der eigene Mac von einer solchen Maßnahme profitiert. Es geht nichts kaputt.

Folgenden Befehl ins Terminal kopiert deaktiviert Swapping:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Zum Reaktivieren des Swappings:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Meine Systeme profitieren deutlich von dieser Maßnahme. Allerdings bearbeite ich auch keine Videos usw. Aber selbst wenn ich alle Programme, die ich im Alltag nutze, geöffnet habe (inkl. virtueller Maschinen), macht OS X hiermit einen sehr guten Job. Auch ohne Verwendung des Purge-Befehls. Ich habe sogar den Eindruck, das der OS-Betrieb deutlich geschmeidiger ist, was aber natürlich bei anderer Verwendung auch bestimmt anders ausfallen kann. Einfach mal ausprobieren, ist meine Empfehlung.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: kolle und iChrigi

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Danke für die schöne Erklärung — das mit dem Swapping probiere ich auch bei Gelegenheit aus.

Denkst du, man könnte purge als eine Art, vom OS gezwungene, Garbage Collection ansehen?
 

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Der Purge-Befehl wird durch die Developer-Tools ermöglicht. Er soll Entwicklern helfen, in OS X aufwandsfrei den Speicher zu bereinigen, um z.B. Software testen zu können. Insofern trifft Garbage Collection den Hammer auf den Kopf. :)
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Ich muss den Befehl manchmal mehrmals täglich verwenden, um flüssig mit Adobe-Programmen arbeiten zu können. Meistens ist das der Fall wenn ich viel mit Photoshop und InDesign gleichzeitig arbeite und die 4 GB fast ausgelastet sind. Ich beende meist Photoshop, um dann noch Platz für Illustrator zu haben. Leider scheint Illustrator sich nur mit dem letzten grünen Rest zu begnügen und ist total zäh. Habe ich vorher Purge ausgeführt arbeitet Illustrator deutlich flotter.
 

landplage

Admin
AT Administration
Registriert
06.02.05
Beiträge
23.683
Hat jemand Lust, daraus einen Wiki-Artikel zu schneidern? Mit kurzer Erläuterung von Sinn und Zweck und möglichst übersichtlicher Anleitung?
 

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Wichtiger Hinweis:
Unter Lion nicht die alten, oben verlinkten Developer Tools (CHUD) installieren! Sie funktionieren unter Lion nicht mehr und sorgen vielmehr für Probleme!

Der Purge-Befehl funktioniert unter Lion jetzt auch ohne Installation der Developer-Tools. Einfach Terminal öffnen und 'purge' eingeben.

Ebenfalls funktioniert nach wie vor das Abschalten des Swappings (Erläuterungen s. oben).

Folgender Befehl ins Terminal kopiert deaktiviert Swapping:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Zum Reaktivieren des Swappings:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Die merklich verbesserte Speicherverwaltung von Lion kann bei ausreichendem RAM (ab 4 GB) und wenig speicherintensiven Anwendungen für einige Anwender durchaus weiterhin Performance-Vorteile bringen. Die hier im Haushalt verwendeten Macs haben ausnahmslos deaktiviertes Swapping und laufen seit der Lion-Veröffentlichung im Dauerbetrieb inkl. Standby-Zeiten ohne Probleme (Anwendungen: Office, Media, VM, Internet, Bildbearbeitung).

Wer speicherintensive Programme nutzt (z.B. für Videoschnitt, einige Audio-Bearbeitungsprogramme, mehrere VMs gleichzeitig usw.) und nicht genügend physischen RAM verbaut hat, sollte aber natürlich nach wie vor auf das Abschalten des Swappings verzichten. Wer es aber ausprobieren möchte, kann mittels der oben angeführten Befehle, ohne das System zu schädigen, auch unter Lion weiterhin umstandslos hin- und herschalten. Vorsicht aber im laufenden Betrieb: Vorher Daten speichern, Anwendungen schließen, bestenfalls einmal ausloggen, damit Datenverluste ausgeschlossen werden können.

@ landplage:
Ein Snow-Leo-Artikel erübrigt sich jetzt wohl mit Lion. Ich schau aber mal, dass ich bei nächster Leerlaufzeit den Purge-Befehl und das Abschalten des Swappings für den Lion-Hint-Wiki-Beitrag formuliere. :)
 
  • Like
Reaktionen: stoney1981

chironex

Dithmarscher Paradiesapfel
Registriert
07.09.08
Beiträge
1.456
Test mit MBP (2007), 2,4Ghz, 4GB RAM, Snow Leopard
Die Idee ist gut, aber genau das

Anschließend werden auch vormals bereits geöffnete Programme natürlich wieder erst langsamer geöffnet (wie beim Erststart der jeweiligen Account-Session), da erneut sämtliche Bibliotheken geladen werden müssen.

passiert bei mir mit allen Programmen und dauert insgesamt dann laenger, als wenn ich kurz einen Neustart (oder zumindest mich ab- und anmelde) durchfuehre ;)

Dennoch ist das Wissen um diese Moeglichkeit ein Gewinn (falls div. Programme streiken sollten)!
 

captainfuture

Weisser Rosenapfel
Registriert
28.12.09
Beiträge
791
bei mir tut sich nix wenn ich ins terminal purge eintippe und enter drücke.
kann keine veränderung in der aktivitätsanzeige feststellen.
arbeite mit lion.
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Wenn kein Fehler kommt (…command not found…), wurde das Programm erfolgreich ausgeführt. Der prüfende Blick in die Aktivitätsanzeige, wird dir weniger inaktiven Arbeitsspeicher zeigen.
 

hosja

Großherzog Friedrich von Baden
Registriert
23.03.07
Beiträge
5.289
Dazu muss auch erstmal inaktiver Speicher vorhanden sein :)
 

derdiesonneruft

Erdapfel
Registriert
10.08.12
Beiträge
1
Hallo Irving. Habe das empfohlene Programm geladen. Das war es aber auch was ich geschafft habe. Darf ich fragen was Spottlight und Terminal bedeutet? bzw. könntest Du mir das vorgehen als jungen Apfel erklären?
Herzlichen Gruß
 

chironex

Dithmarscher Paradiesapfel
Registriert
07.09.08
Beiträge
1.456
Update:
Mit 10.8 funktionierte der purge Befehl noch Fehlerfrei.
Mit 10.8.1 erhaelt man folgende Fehlermeldung:
[ERROR] <CPPathUtils.c:526> The device-file for this operating system, 'osx-12.1.0.xml', was not found. An attempt to revert to a previous revision of the OS device-file: 'osx-12.0.0.xml' has been made. Please file a Radar report with Apple, on the 'CoreProfile' component, version 'X'.
 

Marcel Bresink

Filippas Apfel
Registriert
28.05.04
Beiträge
8.885
Bitte bloß nicht den Anweisungen in diesem Thread folgen! Es wird hier von der völlig falschen Vorstellung ausgegangen, freier Speicher wäre gut für das System und würde die Geschwindigkeit erhöhen. Ebenso wird behauptet, es wäre technisch möglich, dass ein bereits beendetes Programm noch Speicher belegen kann, weil es fehlerhaft programmiert wird. Das ist großer Unsinn.

Der Befehl "purge" dient dazu, den kompletten Teil des Hauptspeichers (RAM), den das System als Cache zur Geschwindigkeitserhöhung bei Plattenzugriffen belegt hat, vorübergehend freizugeben. Der Befehl wird von Entwicklern dazu genutzt, ohne lästigen Neustart zu Testzwecken ähnlich schlechte Bedingungen der Speicherauslastung herzustellen, wie sie direkt nach dem Systemstart herrschen. Es wird dabei viel Speicher frei, wodurch die Systemleistung für einige Zeit spürbar reduziert wird.

Ein gutes Betriebssystem versucht, möglichst schnell die typische Arbeitslast der laufenden Programme zu ermitteln, und basierend auf der statistischen Beobachtung des Speicherverhaltens dieser Programme den RAM-Speicher zu hundert Prozent auszulasten, um die maximale Leistung herauszuholen. Je mehr Speicher belegt ist, desto besser läuft das System.
 
  • Like
Reaktionen: salome

chironex

Dithmarscher Paradiesapfel
Registriert
07.09.08
Beiträge
1.456
Haette da noch eine Frage:
Wieso legt z.B. Safari seine Daten im swap ab obwohl ich noch mind. 1,5GB an RAM frei (Gesamt 4GB) habe? Habe jetzt schon mehrfach beobachtet, dass Safari nach einer Weile surfen die swap Datei anschwellen (1GB) laesst und wenn ich Safari schliesse, dann reduziert sich die Groesse um ca. 70-80%.

Ich dachte immer die swap wird nur bei knappem RAM genutzt ...

MacBook Pro 3,1 (2007)
10.8.1
 
Zuletzt bearbeitet:

Marcel Bresink

Filippas Apfel
Registriert
28.05.04
Beiträge
8.885
Wieso legt z.B. Safari seine Daten im swap ab obwohl ich noch mind. 1,5GB an RAM frei (Gesamt 4GB) habe?

In dieser Frage stecken 2 Missverständnisse.

1) Außer dem Kernel kann kein Programm selbst bestimmen, wo Hauptspeicherinhalte abgelegt werden. Jedes Programm läuft immer in einem virtuellen Speicherraum. Wie die einzelnen Blöcke ("Seiten") dieses virtuellen Speichers auf RAM und Swap abgelegt werden, kann ein Programm weder "sehen", noch beeinflussen. Das ist eine reine Sache des Kernels und der Speichermanagementeinheit (MMU) im Prozessor. Safari kann sich also nicht anders verhalten als alle anderen Programme.

2) Swap wird nicht benutzt, wenn RAM frei ist. Es kann allerdings irrtümlicherweise so aussehen, wenn man sich mit den üblichen Programmen wie "Aktivitätsanzeige" die Speicherstatistik anschaut. Das liegt daran, dass solche Programme üblicherweise nur einmal pro Sekunde einen Schnappschuss der Speicherbelegung erfassen. Wenn nun gerade 1,5 GB RAM frei sind, Safari 2,5 GB neuen Speicher anfordert und davon die "ersten" 1,5 GB innerhalb einer halben Sekunde wieder freigibt (bei Verwendung vieler paralleler Tabs und Plug-Ins sind solche Konstellationen durchaus denkbar), dann wird es in der nächsten Sekunde so aussehen, als hätte Safari 1 GB Swap belegt, obwohl Speicher frei ist.
 

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Bitte bloß nicht den Anweisungen in diesem Thread folgen! Es wird hier von der völlig falschen Vorstellung ausgegangen, freier Speicher wäre gut für das System und würde die Geschwindigkeit erhöhen. Ebenso wird behauptet, es wäre technisch möglich, dass ein bereits beendetes Programm noch Speicher belegen kann, weil es fehlerhaft programmiert wird. Das ist großer Unsinn.

Ihre Fachkenntnis in Ehren. Aber u.a. unter SL hat es sich seinerzeit im praktischen Alltag als teilweise unerlässlich erwiesen, in bestimmten Arbeitssituationen entweder den Mac neu zu starten oder eben unkompliziert 'purge' auszuführen. Ich habe zig mal dabeigesessen, wenn z.B. unsere Grafiker mit ihren Programmen nicht mehr weiterkamen und der Mac nur noch rumratterte. Ob theoretisch dann nur 'genutzter Speicher' auch 'sinnvoll verwendeter Speicher ist', wurde da zu einer theoretischen Größe. Denn wenn nix mehr geht und der Speicher ausgelastet ist und das OS anscheinend Probleme hat, einen reibungslosen Betriebsverlauf zu gewährleisten, interessiert dann in der Praxis nicht mehr. So wenig wie so Kleinigkeiten, ob die Aktivitätsanzeige z.B. vollständig genutzten Speicher dargestellt hat oder nicht und was immer dann auch an Problemen bestand, die ursächlich nicht ergründbar waren, aber reproduzierbar auf die vormals intensiv genutzten Programme zurückzuführen waren: mit 'purge' haben die Grafiker hier einen Neustart vermeiden und weiterarbeiten können. So war es einfach...

Mit neuen Rechnern wie generell größerer Speicherausstattung bei aktuellen Macs löst sich das Problem indes von alleine. Ob Apple bei Mountain-Lion obendrein noch einiges an der Speicherverwaltung optimiert hat oder z.B. Adobe bei entsprechenden Programm-Updates Bugs überarbeitet haben mag, ist da bald schon egal. Die Grafiker, die ich kenne und die ehemals mehrfach am Tag z.B. Purge verwendet haben, haben es seinerzeit nicht aus 'Nerdigkeit' gemacht... und lassen es heute auch nur, weil es wohl kaum mehr nötig ist (und wie es sich für die meisten AnwenderInnen ohnedies schon immer erübrigt, womit sich auch die unsinnige Verwendung entsprechender Tools erledigt, wie sie u.a. mittlerweile auch im App-Store zu finden sind).

Was indessen auch heute noch gerne unternommen wird: das Deaktivieren des Swappings (wie es in Post 3 beschrieben worden ist). Besonders angesichts ausreichenden Ram-Ausbaus bescheinigen damit die professionellen Anwender, mit denen ich arbeite, stets ein vollständig unproblematisches Funktionieren von OSX und meist auch einen Performancsvorteil. Genügend RAM vorausgesetzt.
 
Zuletzt bearbeitet:

Marcel Bresink

Filippas Apfel
Registriert
28.05.04
Beiträge
8.885
wenn z.B. unsere Grafiker mit ihren Programmen nicht mehr weiterkamen und der Mac nur noch rumratterte.

Das ist typisch für einen Betriebszustand, den man "Seitenflattern" nennt. Bei Grafikern üblicherweise durch die Verwendung von Software aus dem Hause Adobe ausgelöst. Provokativ gesagt Software, die versucht, die Speicherverwaltung des Betriebssystems zu sabotieren und stattdessen intern eine eigene Speicherverwaltung zu verwenden, die sich technisch auf dem Stand der 1950er Jahre befindet.

Was indessen auch heute noch gerne unternommen wird: das Deaktivieren des Swappings

Ein gefährlicher Ratschlag, der in allen modernen Betriebssystemen aller Hersteller schnell zum Absturz des gesamten Systems und Datenverlust führen kann. Aber wenn man mit Altlasten arbeiten muss, kann man sein System natürlich auch auf alt trimmen.
 

Irving

Lambertine
Registriert
16.04.10
Beiträge
702
Ein gefährlicher Ratschlag, der in allen modernen Betriebssystemen aller Hersteller schnell zum Absturz des gesamten Systems und Datenverlust führen kann. Aber wenn man mit Altlasten arbeiten muss, kann man sein System natürlich auch auf alt trimmen.

Wenn eine solche Maßnahme (also die Deaktivierung des Swappings), 'schnell zum Absturz führen kann', wieso stürzt dann da aber nichts ab? Abgesehen von den Rückmeldungen zig meiner IT-erfahrenen KollegInnen, habe ich auch selber bei allen daheim verwendeten Macs das Swapping abgestellt und seit Jahren damit keine Probleme erlebt. Die Macs laufen allesamt nicht nur tadellos, sondern hinterlassen (im Fall vor allem von Systemen ohne SSD) einen leistungsträchtigeren Eindruck. OSX scheint das also ganz gut zu können, wenn genügend Speicher vorhanden ist (übrigens auch mit Windows gibts da keine Probleme). Bei den 'Altlasten' handelt es sich sich indes um aktuelle Macs. Nur stürzt da nichts ab. Datenverlust hatte ich ebenfalls noch nicht zu beklagen und habe auch von KollegInnen dergleichen nicht rückgemeldet bekommen; wohl gemerkt alles Leute, die produktiv mit ihren Systemen arbeiten und sich solche Probleme auch nicht leisten könnten. Alles Macs übrigens, die produktiv und im Dauerbetrieb genutzt werden (privat wie beruflich).