Ausführung eines Terminalbefehl "purge"

So kann man es machen

An alle anderen: Man kann auch mal helfen anstat immer irgendwelche Lobpreisungen loszuwerden. Das der Mac Speicher der mit mmap() allokiert wurde um Dateien zu lesen nicht freigibt ist offensichtlich.

Wer's nicht glaubt: Einfach mal im DVD Plazer von Apple ein paar VIDEO_TS Folder als DVD anschauen.

Irgendwann lagert er dann sogar anderen wichtigen Kram aus.

Schreib' Dir doch einen LaunchAgent und pack ihn in ~/Library/LaunchAgents

vi ~/Library/LaunchAgents/local.purge.plist


Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>local.purge</string>
        <key>OnDemand</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/bin/purge</string>
        </array>
        <key>StartInterval</key>
        <integer>3600</integer>
</dict>
</plist>
 
Hallo!

Ohne die Diskussion um das Speicher Management von OS X weiter anheizen zu wollen.
Es gibt tatsächlich "Situationen", die den gesamten Speicher fressen und auch ungern wieder hergeben. Resultat: Ein gelähmter Mac.
Und zum Thema "schlecht programmierte Apps": Wenn man sie nutzen muss, so hilft einem diese Erkenntnis leider nicht viel.

purge schaufelt den gesamten reservierten Speicher frei. Das ist, wie auch schon geschrieben nicht unbedingt von Vorteil. Es gibt etliche, auch kostenlose Apps, die den reservierten Speicher auf sanftere Weise befreien (meistens einfach mit dem Kommando du, welches genau das als Nebeneffekt hat). Darunter gibt es wohl auch welche, die mit einem LaunchAgenten den verfügbaren Speicher überwachen und dann bei Bedarf selbstständig einschreiten. Im App Store wimmelt es von solchen Apps.
Wie gut sie funktionieren, kann ich nicht beurteilen.

Gruß
 
hmmm...ja wenn ich jetzt wüsste was das ist ... ;-) Sorry! :-(
danke für die Hilfe! denke aber wenn ich was google und dann deinen Code einsetzte dann klappt es oder?
 
Also bin ich wohl doch nicht so DUMM ;-) hatte ich dann wohl etwas recht! ;-)
 
Na ja... sagen wir es mal so: Es gibt Leute, die lassen den Mac und Mac OS X einfach machen, und sehen keine Notwendigkeit, da einzugreifen. Und dann gibt es die Fraktion - darunter meiner Meinung nach auch viele EX-Windows-User - die nicht glücklich sind, wenn sie nicht ständig mit irgendwas am Mac und Mac OS X rumfrickeln können, um die (gefühlte) Performance zu erhöhen.
Jeder muss selber wissen, zu welcher Fraktion er gehören möchte und womit er seine Zeit verschwenden will...
 
Kannst Du ein bisschen mit Terminal umgehen?
Wenn ja:

Tippe:
vi ~/Library/LaunchAgents/local.purge.plist

Ein Editor geht auf. Du musst ihn dazu bewegen Text einzufügen. Drücke ein klenes "i". (Ihhh)
Makiere meinen Text mit der Maus, drücke CMD-C, aktiviere den Terminal und drücke CMD-V.

Der Text ist jetzt im Editor.

Drücke einmal ESC. Drücke ":".

Der Cursor ist unten hinter dem ":".

Tippe "wq" und ENTER.
Fertig.

Tippe
launchctl load ~/Library/LaunchAgents/local.purge.plist

Oder logge Dich neu ein.
 
man sollte sich einfach nur mal klar machen, was purge macht:
Purge can be used to approximate initial boot conditions with a cold disk
buffer cache for performance analysis. It does not affect anonymous mem-
ory that has been allocated through malloc, vm_allocate, etc.
 
Wissen viele nicht! Aber Hauptsache das Ergebnis stimmt ;-)
 
wenn du speicher richtig sauber haben willst, starte einfach neu.
purge macht dir das system nämlich nicht schneller, sondern am anfang sogar langsamer...
 
Ob er das nun machen will oder nicht, ist doch nicht das Thema. Es reicht doch, eine Lösung für sein Problem zu geben.
Ob ihr es glaub oder nicht. Es hilft ungemein, mal das Dock und den als root laufenden "mds" zu killen.
Wenn man seinen Rechner durchlaufen lässt werden die ungalublich gross.
Alles memory leaks. Apple ist überhaupt nicht perfekt, überteibt mal alle nicht.
 
Was hat Speichermanagment, in dem Fall auf den inaktiven Speicher bezogen, mit Fehlern in Programmen (den Leaks) zu tun? Letztere werden beim töten des Programmes erledigt. Alle zusammen (vor allem von OS Prozessen) werden damit bei einem Neustart behoben - darum bekam er wohl auch diesen Tipp.

Was in dem Artikel steht ist ja mal richtig hart. Wieso darf eigentlich jeder einfach so Mist schreiben.
Lies besser das hier: http://www.linuxatemyram.com/ - das stimmt sogar.
Falls dir eine andere Quelle lieber ist: https://support.apple.com/kb/HT1342
Fazit: inactive memory macht den Start von Programmen, die zuvor schonmal an waren, schneller, dabei den Rest nicht langsamer.
 
  • Gefällt mir
Reaktionen: chebfarid und Udo2009
Also auf unseren Macs im Unternehmen (400 Stück) leakt auch kein Dock oder so. Und ein Grossteil der Maschinen läuft Hardcore 24/7 im Schnittbetrieb.

Speicher-Purge ist und bleibt kappes.
 
ich weiss, ich komme 2 Jahre zu spät, aber ich stosse aktuell auf ein Performance Problem mit meinem 2 Monate alten MacBook, und auch andere in meiner Firma haben mit Performance Problemen zu kämpfen.

Was hat Speichermanagment, in dem Fall auf den inaktiven Speicher bezogen, mit Fehlern in Programmen (den Leaks) zu tun? Letztere werden beim töten des Programmes erledigt. Alle zusammen (vor allem von OS Prozessen) werden damit bei einem Neustart behoben - darum bekam er wohl auch diesen Tipp.

Was in dem Artikel steht ist ja mal richtig hart. Wieso darf eigentlich jeder einfach so Mist schreiben.
Lies besser das hier: http://www.linuxatemyram.com/ - das stimmt sogar.
Falls dir eine andere Quelle lieber ist: https://support.apple.com/kb/HT1342
Fazit: inactive memory macht den Start von Programmen, die zuvor schonmal an waren, schneller, dabei den Rest nicht langsamer.

Ich weiss zwar nicht auf welchen Artikel du dich beziehst welche Mist labert aber ok.
Erklär mir doch lieber mal (sofern noch anwesend):
1. Aus welchen Informationen ziehst du dein Fazit? Das steht in keinem deiner beiden links.
2. Wenn 'purge' total unnötig ist, und das RAM Management so genial ist, wieso kämpfen viele mit einem Performance Problem, und bei allen scheint das Problem erst auf zu treten sobald viel inaktiver RAM vorhanden ist und wenig freier RAM.



Wie bereits gesagt, durfte ich das Performance Problem schon an mehreren Geräten feststellen, alle haben nur noch sehr wenig freien RAM. Da bekannt ist das ein System langsamer wird wenn kein freier RAM mehr vorhanden ist ist das doch eine logische Schlussfolgerung?
So wie ich das verstehe ist der inaktive RAM zwar zum frei geben bereit, allerdings ist er belegt, und somit sehe ich nicht wieso er das System nicht verlangsamen sollte.
Weiss da jemand wie das jetzt Tatsächlich aussieht?

Hier hiess es irgendwo einmal 'purge' macht das System langsamer. In wie fern ist diese Aussage zu verstehen? Gehe ich richtig der Annahme das die nur zutrifft sollte man ein Programm öffnen wollen welches vorher bereits einmal offen war? Für "neue" Programme bzw. aufs sonstige System kein Einfluss nimmt?
 
Ich weiss zwar nicht auf welchen Artikel du dich beziehst welche Mist labert aber ok.
Nicht, dass ich was dafür könnte.

1. Aus welchen Informationen ziehst du dein Fazit? Das steht in keinem deiner beiden links.
Transitivität.
- Programmstart schreibt notwendige Daten von HDD->RAM, wenn noch nicht vorhanden
- Inaktiver Speicher versucht derartige Daten, eben falls man sie später nochmals benötigt, im RAM zu belassen solange es geht
RAM ist um magnitudes schneller als HDDs.
2. Wenn 'purge' total unnötig ist, und das RAM Management so genial ist
Habe jetzt extra nochmal diesen Thread durchsucht, mich aber nicht dabei ertappt auch nur eines davon gesagt zu haben. :noplan:
Über das RAM Management hab ich mich selbst schon zu genüge aufgeregt, denn es gibt hier definitiv Probleme. Aber diese treten/traten erst in, sagen wir mal "Randfällen" auf, wenn nämlich sehr viel inaktiver Speicher vorhanden ist und der freie Speicher komplett aufgebraucht wurde—dann gibts Probleme. Das ist aber eine Situation, die im normalen Betrieb fast nie vorkommt (sonst wäre das Forum hier voll mit Threads...), sofern man nicht bestimmte Programme nutzt, wie ich sie im Post genannt hatte.
Das ganze hat sich mit 10.9 übrigens enorm verbessert. Man kann nach wie vor bestimmte Situationen erzeugen, in denen der Pager mist baut, aber bei mir passiert das im normalen Betrieb, auch mit den genannten Programmen, im Prinzip gar nicht mehr.


Hier hiess es irgendwo einmal 'purge' macht das System langsamer. In wie fern ist diese Aussage zu verstehen? Gehe ich richtig der Annahme das die nur zutrifft sollte man ein Programm öffnen wollen welches vorher bereits einmal offen war? Für "neue" Programme bzw. aufs sonstige System kein Einfluss nimmt?
Fragst du Dinge ab, die bereits im RAM stehen, so geht dies deutlich schneller, als wenn diese Daten erst von der Platte geladen werden müssten. Das ist der Sinn des inaktiven Speichers (in 10.9 jetzt auch etwas sinniger "App Cache" genannt). Weniger Cache = weniger Sachen, die schnell auf Abruf stehen = mehr langsame Ladeprozesse von der HDD == langsamer.
 
Transitivität.
- Programmstart schreibt notwendige Daten von HDD->RAM, wenn noch nicht vorhanden
- Inaktiver Speicher versucht derartige Daten, eben falls man sie später nochmals benötigt, im RAM zu belassen solange es geht
RAM ist um magnitudes schneller als HDDs.

Ich hatte mich hier eher auf den Punkt bezogen das der Rest nicht langsamer wird. Den wie du auch weiter unten sagst, wird alles ja langsamer sobald viel inaktiver Speicher vorhanden ist und fast kein freier mehr. Somit stimmt ja nur der erste Teil deines Fazits ;)

Habe jetzt extra nochmal diesen Thread durchsucht, mich aber nicht dabei ertappt auch nur eines davon gesagt zu haben. :noplan:
Über das RAM Management hab ich mich selbst schon zu genüge aufgeregt, denn es gibt hier definitiv Probleme. Aber diese treten/traten erst in, sagen wir mal "Randfällen" auf, wenn nämlich sehr viel inaktiver Speicher vorhanden ist und der freie Speicher komplett aufgebraucht wurde—dann gibts Probleme. Das ist aber eine Situation, die im normalen Betrieb fast nie vorkommt (sonst wäre das Forum hier voll mit Threads...), sofern man nicht bestimmte Programme nutzt, wie ich sie im Post genannt hatte.
Das ganze hat sich mit 10.9 übrigens enorm verbessert. Man kann nach wie vor bestimmte Situationen erzeugen, in denen der Pager mist baut, aber bei mir passiert das im normalen Betrieb, auch mit den genannten Programmen, im Prinzip gar nicht mehr.

Stimmt, sry das habe ich fälschlicherweise dir angehängt.
Achso, ok :) und genau in solchen Situationen macht purge doch Sinn, nicht?
Naja, ich nutze keines dieser Programme und habe trotzdem das Problem.
Ja, das von 10.9 habe ich gelesen, und gestern gleich mal installiert. Zusätzlich auf 16GB RAM aufgestockt. Sollte wohl in längerer Zukunft keine Probleme mehr mit dem RAM geben :)
Was heisst für die den normaler Betrieb? Ich nutze mein MacBook als Entwickler, und für mich wäre das der normal Betrieb und ich denke hier gibt es noch einmal gewisse Tools die gerne solchen Unsinn bauen ^^



Fragst du Dinge ab, die bereits im RAM stehen, so geht dies deutlich schneller, als wenn diese Daten erst von der Platte geladen werden müssten. Das ist der Sinn des inaktiven Speichers (in 10.9 jetzt auch etwas sinniger "App Cache" genannt). Weniger Cache = weniger Sachen, die schnell auf Abruf stehen = mehr langsame Ladeprozesse von der HDD == langsamer.

Ok, also wie erwartet :)



Also darf man doch sagen purge ist Sinnvoll wenn der Mac aufgrund von RAM langsam arbeitet, und ein purge schadet dem Mac ja auch nich.
 
Zurück
Oben Unten