Ist nicht inaktives Gedächtnis eine Verschwendung von Ressourcen?

Ich bin auf der search nach einer Erklärung der memoryauslastung auf meinem Computer, insbesondere im Hinblick auf das Beispiel in diesem Screenshot unten:

Speichernutzung

Ich verstehe, was Free und Active ist
Aber was sind die Bedeutungen von Wired und Inactive ?

Besonders inactive , warum verwendet es so viel memory für etwas, das wir nicht benutzen?

7 Solutions collect form web for “Ist nicht inaktives Gedächtnis eine Verschwendung von Ressourcen?”

Inaktives Gedächtnis wird aufgrund eines beschissenen Namens schrecklich rappig. Es sollte heißen "Mach deinen Mac wirklich schnell das zweite, dritte und vierte Mal macht es die gleiche Aufgabe" memory außer das ist ein schrecklicher Name auch.

So erkläre ich jemandem, der mit dem Konzept des virtuellen Gedächtnisses noch nicht vertraut ist:

  • Wired: Das System kann nicht ohne diese Menge an RAM ausgeführt werden (niemals getauscht)
  • Active: Programme benutzen diesen memory jetzt oder in den letzten Sekunden
  • Inaktiv: Dinge, die Programme von der langsamen Festplatte oder anderswo gelesen haben und die sie nie wieder brauchen. Ingenieure wissen es besser, Sie werden in ein paar Minuten zu Facebook zurückkehren oder Word nach dem Beenden neu starten. Die gleichen Dinge passieren immer wieder auf Computern.
  • Free: Total Wasted RAM – das System benötigt nur ein oder zwei MB frei, um kurzfristige Zuteilungsanfragen abzudecken. Für die größten Zuteilungen verwendet es einfach etwas von dem inaktiven RAM, indem es ihm zu aktiv / verdrahtet zugeordnet wird und die Information über das, was es vorher gehalten hat, entfernt wird.

Das Problem tritt auf, wenn Free + Inactive weniger als ungefähr 1/3 der Gesamtmenge beträgt und die Dinge dann wirklich langsam werden können.

Inaktiver memory ist Bonus-Geschwindigkeit / Double-Duty-RAM. Es dient als frei im Moment, aber macht auch wiederholte Aufgaben viel, viel schneller, wenn das System richtig geraten und etwas im RAM behalten hat, das Sie wieder tun werden. Es ist schneller als ausgelagerter memory, da es bereits im RAM geladen ist und Dinge beschleunigt, wenn das virtuelle memorysystem gute Vermutungen macht.

Wenn Sie sich fragen, ob RAM ein Problem ist, können Sie nicht jede der 4 Kategorien betrachten (5, wenn Sie aktiven Swap zählen), sondern W + A als Verlangsamung eines neuen Programms / einer Aufgabe und F + I als Beschleunigung eines neues Programm / Aufgabe. Je mehr F + I Sie haben, desto mehr neue Programme können Sie starten, bevor der RAM auf Swapping angewiesen ist, um den zugewiesenen memory zu jonglieren.

Sie müssen nicht wirklich wissen, wie Swap funktioniert, da ich es oben erwähnt habe. Wenn ein Programm im Leerlauf ist und seit Tagen (oder Stunden) nicht verwendet wird, schreibt das System diesen RAM auf die Festplatte, anstatt das Programm zu beenden. Auf diese Weise kann das System alle möglichen Dinge im Zusammenhang mit der memoryverwaltung mischen und verarbeiten und verhindert, dass jedes Programm miteinander sprechen muss, um zuzustimmen, wer weniger memory verbrauchen wird, wenn das System ausgeht.

Hier ist ein reales Beispiel dafür, wie inaktives RAM verwendet wird.

  1. Beenden Sie alle Apps und vergewissern Sie sich, dass die beiden Apps, die wir testing, nicht automatisch gestartet werden, wenn Sie sich anmelden.
  2. Starten Sie Ihren Mac neu
  3. Aktiviere deinen Activity Monitor und beobachte den gesamten RAM
  4. time, wie lange es dauert, um Anwendung A zu starten (MS Word wäre eine gute Wahl)
  5. Beenden Sie A
  6. time, wie lange es dauert, um Anwendung B zu starten (Adobe wäre auch gut)
  7. Beenden Sie B
  8. time, wie lange der zweite Start von A dauert
  9. Beenden Sie A
  10. Der zweite Start von Time B.
  11. Die time A startet das dritte Mal, wenn B läuft.

Sie sollten dramatische Beschleunigungen für den zweiten / dritten Start sehen, wenn das System lernt, die Dinge, die diese beiden Apps ausführen müssen, in inaktiven RAM zu halten.


In Ihrem Fall bedeutet die Summe von Wired und Active, dass ein Wechsel auf die Festplatte wahrscheinlich stattfindet und Ihr Mac nicht so schnell ist, wie er sein könnte, da Ihr inaktiver RAM nicht groß genug ist, um all die Dinge zu speichern, die Sie möglicherweise wiederverwenden müssen. .. Wenn Sie ein schnelles SSD-Laufwerk haben, ist diese RAM-Zuweisung in Ordnung, und anstatt zu verlangsamen, sobald weniger als 1/2 Ihres RAMs F + I ist, können Sie Dinge näher an 1/4 des gesamten RAM für F schneiden + Ich bevor erkennbare Langsamkeit zu sehen. Diese Richtlinien sind allgemeiner vm_stat 15 und Sie sollten sich vm_stat 15 oder ein ähnliches Intervall ansehen, um sicherzustellen, dass ein kontinuierliches und mittleres dataträgertauschen Ihren Mac nicht langsam macht.

Die Nummer, die am wichtigsten ist, um festzustellen, ob der memory Ihres Macs "gestresst" ist, ist die "Seite aus" -Figur. Im Aktivitätsmonitor in Mavericks wird dies nicht mehr angezeigt, sie zeigen jetzt die Informationen in 'Swap Used:' an.

Auslagerungen bedeutet, dass das Betriebssystem festgestellt hat, dass nicht genügend RAM zur Verfügung steht, um alle angeforderten Anwendungen und processe auszuführen. Was es dann tut, ist es 'Seiten' heraus zu Diskette Teilen des Gedächtnisses, das es feststellt, werden nicht aktiv benutzt. Dies bedeutet, dass der RAM-memory (schnell) in den HDD-memory (langsam) geändert wird. Wenn dies sehr häufig geschieht, da viele Anwendungen ausgeführt werden und der Benutzer zwischen Anwendungen wechselt, wird es viele Seitenauslagerungen und Seiteninspektionen geben.

Wenn Sie sehen, dass Seitenausgaben zunehmen, sollten Sie Maßnahmen ergreifen.

Das Problem auf meinem Mac ist, dass der "inaktive" memory nie gelöscht wird, wenn ich nicht eine manuelle Reinigung im Befehlsfenster mache. Es baut auf und baut auf, bis ich ein Popup-windows bekomme, in dem ich aufgefordert werde, Anwendungen zu beenden. Selbst nach dem Töten aller meiner Anwendungen habe ich immer noch zu viel inaktives Gedächtnis, um etwas auszuführen. Also, auf meinem Mac mit der neuesten Version von Mountain Lion ist es NICHT wahr, dass inaktiver memory zurückgefordert wird, wenn der freie memory zu niedrig wird. Entweder habe ich irgendwo eine App, die einen Teil des inaktiven Arbeitsspeichers eingesperrt hat, der niemals freigegeben wird, oder das iOS hat einen Fehler. (Ich habe 8 GB physisches Gedächtnis … das sollte genug sein!)

Dank all der Poster und Kommentatoren war dies für mich ein lehrreicher und nützlicher Thread. Meine jüngsten Erfahrungen könnten jemandem nützlich sein. Ich benutze meinen Mac Mini mit OS X10.8.1 und mit 16G RAM komplett für Prototyping-Software, die an anderer Stelle ausgeführt wird. Ich kann Ihnen versichern, dass ich nicht "in ein paar Minuten zu Facebook zurückkehren oder Word nach dem Beenden neu starten werde" – das mache ich stattdessen auf meinem Macbook.

Meine Aufgabe war es, eine große Menge an data aufzuspüren, I / O ist zeitaufwendig, also ist die Idee, so viele data wie möglich auf einen Schlag zu lesen, dort zu verarbeiten und dann wieder auf die Festplatte zu schreiben. Wiederholen Sie den Vorgang bis zum Ende, was einige Stunden dauert. Was ich sehe, ist, dass jedes Mal, wenn ich in einem neuen datablock lese, der inaktive memory springt – ich nehme an, dass das System AI annimmt, dass ich vielleicht den alten Chunk wieder verwenden möchte, was ich nicht – und die freie memory fällt ab.

Nach ein paar Iterationen dieses processes wird der freie memory auf ein paar MB reduziert, der inaktive memory wird ein paar MB mehr freigeben, und dann wird der inaktive memory nach einigen Minuten des Hin- und Herwechselns zwischen dem freien und dem inaktiven memory frei. ein paar GB auf einmal. Alles ist wie @bmike beschreibt, und sowohl vm_stat 15 als auch Aktivitätsmonitor zeigen 0 Seitenausgaben an.

Außer vielleicht nicht ganz. Mehrmals sind die Dinge schwankend weitergegangen, ich mache einen Kaffee oder ein Abendessen und beobachte den process nicht, und was nicht passieren sollte, der process wirft plötzlich eine Bootsladung von Seitenausschnitten weg und verlangsamt den path nach unten. Stellen Sie fest, dass es wahrscheinlich mein beschissener Code ist, der das Problem verursacht, aber ich wünschte, ich könnte den inaktiven memory ausschalten, nur um diese Quelle der Variabilität zu beseitigen. Ist es kaputt? Ich würde das nicht sagen, aber ich würde sagen, dass die memoryverwaltung nicht für meinen Anwendungsfall optimiert ist.

Inaktiver memory, der von kürzlich aktiven Apps verwendet wird und beendet wird. OS X behält es für den Fall zurück, dass der Benutzer das Programm erneut öffnen möchte. In diesem Fall muss OS X den memory nicht verlagern, was die Geschwindigkeit der Ausführung beschleunigt. Wenn Sie das Programm nicht erneut öffnen, wird der memory des Inaktiven nach einiger time freigegeben oder verschoben. (C)

Diese function ist cool, wenn Sie viel RAM haben, aber wenn es nicht ist, ist es ziemlich ärgerlich. Eigentlich geht es nur um Apple-Sachen. Wenn Sie ein leistungsstarkes Gadget oder Mac haben, ist alles cool, aber wenn das Gerät älter wird, verlangsamt es alle functionen.

Du musst also spezielle Tricks anwenden, um es zu verwalten.

Für inaktiven memory gibt es eine Befehlsspülung, purge zu befreien.

Im Grunde ist es kaputt. Inaktiver RAM sollte automatisch gelöscht werden, wenn der freie RAM-memory niedrig ist. Was ist der Sinn des Haltens von RAM für zuvor geöffnete Anwendungen in der Hoffnung, dass der Benutzer es wieder öffnet? Die Tatsache, dass der freie RAM niedrig ist, zeigt an, dass vorhandene ACTIVE-Anwendungen möglicherweise nicht genügend RAM haben und JETZT austauschen. Keeping GB RAM für geschlossene Anwendungen ist einfach dumm. Gemäß der eigenen Beschreibung von Apple sollte inaktiver RAM automatisch gelöscht oder ausgeliehen werden, wenn der freie RAM-memory niedrig ist. Das ist eindeutig nicht der Fall.

Inaktives Gedächtnis macht es wesentlich, früher geschlossene processe schneller zu öffnen. Wenn Sie feststellen, dass das Mac OS zu viel memory verbraucht, brauchen Sie nicht wirklich von den Dutzenden von Registerkarten, die Sie in Safari oder Chrome geöffnet haben, verwenden Sie einfach den Befehl 'Purge' im Terminal. In OS X Mavericks verwenden Sie stattdessen einfach 'sudo purge' (Sie müssen Ihr Passwort eingeben). Es rettet wertvolle Sekunden, wenn Sie etwas wieder öffnen müssen, aber wenn Sie ein RAM-intensives Spiel spielen oder eine RAM-hungrige Anwendung öffnen möchten, empfehle ich definitiv, den Reinigungsbefehl zu verwenden.

  • Macbook pro 13 2012 (HD4000) 8 GB (1600 Mhz) Einzel RAM Stick Problem
  • MBP mit Serial ATA-Festplatte vs. PCIe-Flash-memory
  • iPhone 6s memorynutzung
  • Mac ist langsamer und hat seltsame Nuancen im Betrieb nach dem Flüssigkeitskontakt
  • Wie kann ich die integrierte HD4000-Grafikkarte eines MacBook Pro deaktivieren?
  • Wahnsinnig hoher coreel-RAM-Verbrauch (über 9 GB) in Mavericks
  • iPhone mit externer Festplatte
  • Wie stelle ich den WiFi Access Point so ein, dass der Ordner mit fileen zum Download freigegeben wird?
  • Kann ich mein MacBook Mitte 2010 auf 16 GB RAM aufrüsten? (2x8G)
  • Wie handhaben iPhones und Macs den OS-memory?
  • Ist der im Aktivitätsmonitor angegebene memory korrekt?