Warum blockiert OS X Mavericks den Löschbefehl in Terminal?


24

Wenn ich den purgeBefehl auf meinem Terminal versuche , gibt OS X Mavericks die folgende Meldung aus:

Unable to purge disk buffers: Operation not permitted

Dies war bisher nicht das Standardverhalten. Ich frage mich, warum Apple das geändert hat. Gibt es einen Grund für diese Entscheidung? Was sind die Vor- / Nachteile davon?

Antworten:


23

Sie müssen diesen Befehl mit Root-Rechten ausführen. Versuchen:

> sudo purge

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:

Geben Sie das Kennwort Ihres Kontos ein, und der Befehl zum Löschen sollte ausgeführt werden.

Apple hat die Entscheidung wahrscheinlich aus Sicherheitsgründen getroffen. Der einzige Nachteil ist, dass Sie Ihr Administratorkennwort eingeben müssen. Der Vorteil ist, dass Benutzer ohne Administratorrechte diesen Befehl nicht ausführen können und möglicherweise ihr Betriebssystem beschädigen.

Normalerweise sind Befehle, die sudoausgeführt werden müssen, potenziell destruktiv oder invasiv. Zwei weitere Befehle mit dieser Anforderung sind dtraceund xcode-select.


3
Ich war besorgt über Apps, die vermutlich die Nutzung beschleunigen purge. Diese Antwort hat mir geholfen zu verstehen, warum es keine gute Idee ist.
Gabriel Izaias

1
Ich kann eine Frage nicht als Duplikat über SE-Sites hinweg schließen, daher habe ich Ihre Antwort hier unverblümt kopiert . Sie können gerne Ihre eigene Kopie posten, damit ich meine Kopie Ihrer Antwort löschen kann.
Hennes

Können Sie näher auf "Apple hat wahrscheinlich die Entscheidung aus Sicherheitsgründen getroffen" eingehen? Welche Art von Sicherheitsproblemen verursacht die Befehlslöschung Ihrer Meinung nach?
Tiago

1

Die Verwendung des purgeBefehls kann schwerwiegende negative Auswirkungen auf die Leistung des Systems haben (da Sie dem Kernel im Wesentlichen mitteilen, dass er sein gesamtes Wissen über Ihre aktuelle Verwendung vergessen soll, gehen Sie die inaktive Liste durch und werfen Sie alles - auch wenn es sich um einen Prozess / Treiber handelt war dabei, davon Gebrauch zu machen - und dann alles von Grund auf neu zu erstellen. Daher ist es sinnvoll, dass für die Ausführung ein gewisses Maß an Berechtigungen erforderlich ist.


1

Ich bin kein Experte, aber es kann etwas mit dem komprimierten Speicher in OS X 10.9 zu tun haben

Mehr tun

Je mehr Speicher Ihr Mac zur Verfügung hat, desto schneller arbeitet er. Wenn Sie jedoch mehrere Apps ausführen, benötigt Ihr Mac mehr Speicher. Mit OS X Mavericks ermöglicht Compressed Memory Ihrem Mac, Speicherplatz freizugeben, wenn Sie ihn am meisten benötigen. Wenn sich Ihr Mac der maximalen Speicherkapazität nähert, komprimiert OS X automatisch Daten aus inaktiven Apps und stellt so mehr Speicher zur Verfügung

Exrta schnell

Sobald der Speicher komprimiert ist, muss Ihr Mac keine Zeit mehr verschwenden, um Daten zwischen Speicher und Speicher hin und her zu übertragen. So können Sie in kürzerer Zeit mehr erledigen. Und da das Komprimieren und Dekomprimieren fast sofort erfolgt, werden Sie nur feststellen, wie reaktionsschnell sich alles anfühlt. Vor allem, wenn Sie alles auf einmal machen.

Quelle: http://www.apple.com/osx/advanced-technologies/(nicht vorhanden)

Siehe auch: OS X Mavericks ist mehr als leistungsstark: Es ist Power Smart (PDF)

Sie können das getan haben, das ältere Programm von interfeering mit der neuen Art und Weise , Dinge zu tun vermeide. Ich habe aber keine Ahnung.


-1

'purge' gibt nicht genug RAM frei. Ich benutze SystemPal: https://itunes.apple.com/app/systempal/id453164367?mt=12 Es funktioniert sehr gut!


2
Welche Verhaltensunterschiede lassen Sie vermuten, dass eine App eines Drittanbieters aus dem Mac App Store mehr Speicherplatz spart als ein in OS X enthaltenes Tool von Apple?
Graham Miln

1
Oder dass jede App / jeder Gelegenheitsnutzer bessere Entscheidungen über die Speicherverwaltung treffen könnte als der Kernel?
Jhfrontz

-5

http://computers.tutsplus.com/tutorials/how-to-give-your-mac-a-performance-boost--mac-46271

Erstellen eines Terminal-Skripts zum Löschen des Speichers

  1. Öffnen Sie zunächst das Terminal.

  2. Geben Sie die folgende Zeile ein:

    cd Desktop/

    und drücken Sie die Eingabetaste. Dies zeigt das Terminal auf Ihren Desktop und nicht auf Ihren Benutzerordner. Sie können Terminal auf einen beliebigen Ordner für dieses Lernprogramm verweisen.

  3. Eingeben:

    touch Purge

    und drücken Sie die Eingabetaste. Dadurch wird eine neue Datei mit dem Namen "Purge" auf Ihrem Desktop erstellt, die Sie jedoch noch nicht sehen werden.

  4. Eingeben:

    pico Purge

    und drücken Sie die Eingabetaste. Dadurch wird der Terminal-Editor für die Bereinigungsdatei geöffnet.

  5. Geben Sie den folgenden Text in den Editor ein:

    #!/bin/sh
    
    purge
    
  6. Drücken Sie Strg + O und dann die Eingabetaste, um die Datei auf Ihrem Desktop zu speichern. Drücken Sie dann Strg + X, um den Editor zu verlassen. Stellen Sie sicher, dass Sie die Steuertaste und nicht die Befehlstaste verwenden.

  7. Sobald Sie wieder auf dem normalen Terminal-Bildschirm sind, geben Sie Folgendes ein:

    chmod 755 Purge

    und drücken Sie die Eingabetaste. Dies macht die soeben erstellte Datei für Sie zugänglich. Standardmäßig verbirgt OS X die mit touch erstellten Dateien.

  8. Auf Ihrem Desktop befindet sich nun eine Datei mit dem Namen "Löschen". Sie können diese Datei öffnen, um den Speicher Ihres Computers automatisch zu bereinigen. Sobald das Terminal die Meldung [Prozess abgeschlossen] anzeigt, können Sie die Anwendung schließen und fortfahren.


Dies löst das in der Frage beschriebene Problem nicht. Bitte korrigieren Sie auch die Formatierung Ihres Beitrags.
Nohillside

1
Immer kopierten Inhalt als Quelle (cc @patrix).
grg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.