Wie viele Schreibvorgänge habe ich auf meiner 250-GB-SSD-Festplatte auf meinem Macbook Pro High Sierra [Duplikat]

Ich würde gerne wissen, wie viele Schreibvorgänge ich auf der SSD-Festplatte meines Mac habe?

Ich würde auch gerne wissen, ob es einen Terminalbefehl gibt, den ich ausführen kann, um diese Informationen herauszufinden, und wie viele Schreibvorgänge ich noch habe, damit ich den Status überprüfen kann?

Antworten (3)

Dafür gibt es einen Terminal-Befehl

iostat -Id disk0

die Ausgabe ist

Sie sehen drei aufgelistete Werte:

KB/t = kilobytes per transfer
xfrs = number of transfers
MB = number of megabytes transferred

Hier ist ein Beispiel meines MBA 2017

disk0

KB/t   xfrs     MB 

29.12 1886081 53627.02

Der unter MB aufgeführte Wert ist die Gesamtzahl der Megabytes, die Sie seit der Erstinstallation bis jetzt auf Ihr Laufwerk geschrieben haben. Also habe ich 53 GB geschrieben.

Zum zweiten Teil Ihrer Frage "Wie viele Schreibvorgänge habe ich noch?"

Es gibt kein Programm, das dir die Lebenserwartung sagt :)

Stellen Sie sich vor, Sie haben eine 250-GB-SSD, und Sie löschen sie vollständig und schreiben dann erneut 250 GB. Das können Sie ungefähr 2.000 Mal tun. Das sind übertragene Daten im Wert von 5,0e14. (lassen Sie mich Ihnen helfen, das sind 500 TB)

Außerdem "schreiben" Sie nicht immer in dieselbe Zelle (mehr als 50 % davon befinden sich nur im Lesemodus), weshalb es wichtig ist, dass Ihre SDD unter 80 % Kapazität bleibt.

Quelle

In jedem Fall ist es nicht so wichtig, die aktuelle und die zukünftige Lebensdauer genau zu kennen. Irgendwann wird es scheitern. Einfach Backup behalten.

Die Antwort ist falsch. "iostat -Id disk0" sagt Ihnen nicht, wie viele Schreibvorgänge oder Übertragungen das Laufwerk während seiner Lebensdauer durchlaufen hat. Stattdessen zeigt es Ihnen, wie viel seit dem letzten Neustart des Computers übertragen wurde - eine ganz andere Sache.
@jksoegaard das ist nicht korrekt, ich habe gestern gerade neu gestartet und seitdem keine 50 GB mehr geschrieben.
Du liegst immer noch falsch. Wenn Sie sich den Quellcode für iostat ansehen, werden Sie feststellen, dass der Wert „MB“ eigentlich die Summe der gelesenen und geschriebenen Bytes ist. Die Anzahl der gelesenen Bytes ist für die Frage hier nicht wichtig, da sie die SSD nicht auf die gleiche Weise abnutzt. Bereits dort ist der Wert, den Sie finden, nicht relevant. Der nächste Teil ist, dass Sie im Quellcode sehen, dass er die Anzahl der Bytes findet, die in den Statistikteilen der Eigenschaften beim Schlüssel namens "kIOBlockStorageDriverStatisticsBytesWrittenKey" geschrieben sind. Laut Apple-Dokumentation ist dies die Anzahl der seit dem Start geschriebenen Bytes.
Da ich im vorherigen Kommentar nicht mehr schreiben konnte: "since boot" ist nicht ganz korrekt, da es wirklich so ist "seit der Blockspeichertreiber instanziiert wurde". Im Fall Ihres Startlaufwerks (wie hier) ist dies dasselbe wie "seit dem Start". Sie können die Dokumentation hier lesen: developer.apple.com/documentation/iokit/…
Mit Ihrer Logik liegen die für mein eigenes Laufwerk angegebenen Werte weit daneben. Gerade jetzt (kurz nach dem Neustart) sagt es mir, dass ich ca. Übertragungen im Wert von 15 GB. Was nicht zu Ihrer Logik passt, da das Laufwerk mehrere Jahre alt ist und enorme Mengen an Schreibvorgängen erlebt hat - nicht nur insgesamt 15 GB in seiner Lebensdauer.
@jksoegaard ok Sherlock, hier ist meine Quelle, also rede mit ihnen cnet.com/how-to/find-how-how-much-longer-your-ssd-will-last
man iostat sagt: "Die ersten Statistiken, die gedruckt werden, werden über die Systembetriebszeit gemittelt. Um Informationen über die aktuelle Aktivität zu erhalten, sollte eine geeignete Wartezeit angegeben werden, damit die nachfolgenden Sätze gedruckter Statistiken über diese Zeit gemittelt werden." Das impliziert also, dass die Daten seit dem Neustart wie angegeben sind. man-Seiten und Quellcode-Referenzen sind mit größerer Wahrscheinlichkeit korrekt als zufällige Webseiten
Auch ich habe neugestartete Ergebnisse waren 30.14 269661665 7935911.03und `` ziemlich offensichtlich vom Neustart betroffen
@Ruskes Der Autor des CNET-Artikels hat sich offensichtlich geirrt. Könnte es möglich sein, dass 1,5 Jahre Nutzung seines Mac nur 1 TB Schreibvorgänge hatte? Eigentlich bin ich hierher gekommen, weil photolibraryd in den letzten 12 Tagen 1,51 TB geschrieben hatte, was mich etwas nervös machte… iostat zeigte insgesamt 2,62 TB Schreibvorgänge an, anscheinend kompatibel mit der This-Boot-Interpretation.
Einverstanden, dass die Antwort falsch ist. Der Befehl zeigt 157 GB, während mein Mac 4 Jahre alt ist und ich ihn täglich verwende. Übrigens hat meine SSD eine Kapazität von 512 GB und ist jetzt zu fast 90% voll. Du machst die Mathematik:)
Zitieren einer Nachrichtenquelle vs. technische Dokumentation 😂

Sie können im Allgemeinen nicht nachverfolgen, wie viele Schreibvorgänge genau auf dem Laufwerk durchgeführt wurden. Sie hätten diese Statistiken irgendwie selbst verfolgen müssen.

Ebenso können Sie im Allgemeinen nicht sagen, wie viele Schreibvorgänge noch verbleiben, da es keine "Garantie" gibt, dass ein Laufwerk an einem bestimmten Punkt ausfällt. Es gibt auch keine Garantie dafür, dass ein Laufwerk bis zu einem bestimmten Zeitpunkt nicht ausfällt.

Am besten erhalten Sie eine Annäherung an das, was Sie möchten, indem Sie sich die SMART-Attribute auf dem Laufwerk ansehen. Das geht mit dem Programm „smartctl“ von „smartmontools“. Wenn Sie Homebrew installiert haben, können Sie smartmontools mit diesem Befehl installieren:

brew install smartmontools

Danach führe es so aus:

smartctl -a disk0

(Ersetzen Sie disk0 durch die tatsächliche physische Festplatte, die Sie untersuchen möchten – Sie finden die Gerätenamen im Festplattendienstprogramm.)

In der Ausgabe von smartctl sollten Sie sich den sogenannten "Wear Leveling Count" ansehen. Der Rohwert rechts zeigt Ihnen, wie viele Lösch-/Programmierzyklen jeder Block auf der SSD im Durchschnitt durchlaufen hat. Die Lösch-/Programmierzyklen verschleißen das Laufwerk schließlich.

Darüber hinaus sagt Ihnen die Zahl in der Spalte "Wert" im Grunde, wie groß der Anteil dieser Anzahl von Lösch-/Programmierzyklen im Vergleich zu der erwarteten Anzahl von Zyklen ist, die Sie fahren können. Grundsätzlich beginnt diese Zahl bei einem neuen Laufwerk bei 100 % und zählt bis 0 % herunter, wo Sie erwarten würden, dass das Laufwerk ausfällt. Wie bereits erwähnt, können und werden Laufwerke vor diesem Punkt ausfallen – und sie fallen zu diesem Zeitpunkt möglicherweise nicht aus. Es ist jedoch einer der besseren Indikatoren für den Zustand des Laufwerks.

Das ist die wahre Antwort! Eine Frage allerdings: ist der volle Originalwert 255 oder 200?
Sehen Sie sich nur den normalisierten Wert an, der ein Prozentsatz zwischen 0 und 100 sein sollte. Bei einigen Laufwerken, z. B. Intel, ist diese Statistik als Media Wearout Indicator bekannt.
Mein Laufwerk zeigt die Wear_Leveling_Countals 193 an. Also sollte das Original entweder 255 oder 200 sein, nehme ich an …
Bitte poste die gesamte Ausgabezeile, sonst ist es schwer etwas zu sagen. SMART-Werte sind von Laufwerk zu Laufwerk unterschiedlich. Wenn Sie also kein Original-Apple-Laufwerk haben, können die Dinge für Sie anders sein.
Es ist eine Apple SSD SM1024G. Ausgabezeile ist:173 Wear_Leveling_Count 0x0032 193 193 100 Old_age Always - 12899516500
Soweit ich sehen kann, bedeutet dies, dass der Antrieb bei 93% liegt. Das heißt, der Wert geht von maximal 200 bis mindestens 100 (Sie überschreiten die geschätzte Lebensdauer).

Intelligente Attribute für Gesamtschreibvorgänge

Technisch gesehen sind SMART-Attribute für Lese-/Schreibwerte definiert , aber es gibt keine Garantie dafür, dass der Laufwerkhersteller sie verwenden wird. Sie sind wie folgt (definiert als "Wörter" - dh "Wort 241"):

  • 241 - Gesamtzahl der geschriebenen LBAs
  • 242 - Gesamte gelesene LBAs
  • 243 - Gesamtzahl geschriebener LBAs erweitert
  • 244 - Gesamte gelesene LBAs erweitert
  • 249 - NAND-Schreibvorgänge (1 GiB)

Eine LBA ist eine logische Blockadresse , die eine 48-Bit-Adresse zu einem bestimmten Datenblock ist. Die Größe der Datenblöcke variiert je nach Betriebssystem; macOS HSF+ verwendet einen 16-KB-Block. Mit anderen Worten, unter macOS, das mit HFS+ formatiert ist, werden 16 KB verwendet, um eine 1-KB-Datei zu speichern, und 32 KB, um jede Datei zu speichern, die größer als 16 KB, aber kleiner als 32 KB ist.

Können Sie auf diese Daten zugreifen?

Es hängt davon ab, ob. (Wieder) Technisch gesehen können Sie einen ATA-Befehl an das Laufwerk senden, um die durch die relevanten "Wörter" identifizierten Daten zu lesen. Es ist jedoch unwahrscheinlich, dass Sie diese Informationen erhalten. Warum?

  • Das Laufwerk muss dies unterstützen
  • macOS erlaubt es Ihnen nicht, es zu bekommen.

Wenn Sie die Attribute für ein (zufälliges) Seagate-Laufwerk von der smartmontools-Website abrufen , können Sie sehen, dass die relevanten Wörter nicht definiert sind.

Zweitens, selbst wenn die Daten vorhanden wären und Sie Ihre eigene Anwendung schreiben würden, um benutzerdefinierte AT-Befehle zu senden, würde macOS Ihnen dies nicht erlauben .

Standardmäßig erlaubt OS X Anwendungen nicht, SCSI- oder ATA-Befehle an Speichergeräte zu senden, es sei denn, der Anwendungsentwickler stellt auch einen im Kernel integrierten Gerätetreiber bereit, der die Befehle unterstützt. Die Familie der SCSI-Architekturmodelle erlaubt jeweils nur einem Treiber für logische Einheiten die Steuerung eines Geräts und stellt Kernel-interne Treiber für logische Einheiten für Speichergeräte bereit (wie unter Geräteunterstützung für die Modellfamilie der SCSI-Architektur aufgeführt). Ebenso erlaubt es die ATA-Familie Anwendungen nicht, ATA-Befehle direkt an ATA- oder SATA- (Serial ATA) Geräte zu senden.

Woher wissen wir, dass dies der Fall ist?

Wenn ich DiskDrill auf meiner internen SSD verwende, ist dies die Grenze der Attribute, die vom Betriebssystem bereitgestellt werden.

SSD-SMART-Attribute

Praktikabilität von Total Write-Operationen

Es ist nicht praktikabel, diese Art von Informationen zu sammeln. Nehmen wir ein Extremszenario – ein Rechenzentrum mit hochverfügbaren, unternehmenskritischen SQL-Servern (Oracle, MySQL, MSSQL) – unsere Sorge ist nicht, wie viele Daten geschrieben werden, sondern wie schnell und wie zuverlässig die Laufwerke sind. Was wir suchen, ist

  • Sind die IOPS hoch genug?
  • Wie hoch sind die Lese-/Schreibfehler?
  • ist die garantie noch gültig?

Mit anderen Worten, wenn die Leistung des Laufwerks hoch genug ist und es keine (niedrige Schwelle) von Fehlern gibt und noch Garantie besteht, ist das Laufwerk in Betrieb. Sobald es anfängt zu versagen, tauschen wir es aus. Darüber hinaus wird es nach Ablauf der Garantie ersetzt, unabhängig davon, ob es noch eine Lebensdauer hat (es gibt auch eine Budgetkomponente).

Unterm Strich ist die Gesamtzahl der Schreibvorgänge auf einem Laufwerk keine wichtige zu verfolgende Metrik.

iostatund andere OS-Tools

Das Problem dabei ist, dass Sie Statistiken für das aktuelle Betriebssystem erhalten:

iostat (Input/Output Statistics) ist ein Überwachungstool für Computersysteme, das zum Sammeln und Anzeigen von Ein- und Ausgabestatistiken des Betriebssystemspeichers verwendet wird.

Mit anderen Worten, installieren Sie macOS auf einer 3 Jahre alten, gut genutzten SSD neu und Ihre Statistiken gehen auf Null zurück. Es ist eine Art, den Kilometerzähler eines Autos zurückzusetzen - obwohl es 50.000 Meilen / gefahrene Kilometer anzeigt , haben Motor und Getriebe immer noch 150.000 drauf.

TL;DR

Es ist unwahrscheinlich, dass Sie diese Informationen erhalten.

  1. Das Laufwerk muss das SMART-Attribut unterstützen
  2. Ihr Betriebssystem muss es Ihnen ermöglichen, das Attribut zu erhalten. Unter macOS sind diese Informationen konstruktionsbedingt einfach nicht verfügbar
  3. Es ist keine praktische Metrik zum Überwachen

Schließlich, wenn es um Laufwerke geht, egal ob sich drehende oder Solid-State-Laufwerke, gehen Sie davon aus, dass sie ausfallen werden. Aus diesem Grund ist eine vernünftige Sicherungsstrategie viel, viel wichtiger als die Überwachung der gesamten Schreibvorgänge.