Gibt es einen Terminal-Befehl, der mir anzeigt, wie viele GB während der gesamten Lebensdauer der Festplatte auf meine SSD geschrieben wurden? Ich frage, weil ich herausfinden möchte, wie viele Zyklen durchgeführt wurden. SSDs können je nach Typ zwischen 1000 und 2000 Zyklen ausführen.
macos
terminal
ssd
disk-utility
Lachtan
quelle
quelle
Antworten:
Lesen Sie die folgenden SMART-Attribute Ihrer SSD mit einem geeigneten Tool * aus:
241 - Total LBAs Written: Die Gesamtzahl der 512-Byte-Sektoren, die während der gesamten Lebensdauer des Geräts geschrieben wurden.
242 - Total LBAs Read: Die Gesamtzahl der 512-Byte-Sektoren, die während der gesamten Lebensdauer des Geräts gelesen wurden.
Ein zweiter Satz von Attributen ist:
174 - Host_Reads_MiB
175 - Host_Writes_MiB
Aber ich weiß nicht, ob die im zweiten Satz gefundenen Werte wirklich Sinn machen (zumindest für mich mit einer 120-GB-SSD als Teil eines Fusion-Laufwerks), weil durch die SSD erheblich mehr Daten auf die SSD geschrieben werden als auf die Festplatte hat nur 1/25 der Größe:
Im Vergleich zur 3-TB-Festplatte (dem zweiten Teil des Fusion-Laufwerks):
Nach der Installation von smartmontools geben die folgenden Befehle die geschriebenen Daten in GB aus, wenn das Attribut "242 Total_LBAs_Written" vorhanden ist:
oder in TB:
Ersetzen Sie "DiskIdentifier" durch die Kennung Ihrer internen SSD, die Sie mit gefunden haben
diskutil list
. Wahrscheinlich ist es disk0.Der folgende Befehl gibt die geschriebenen Daten in GB an, wenn das Attribut "175 - Host_Writes_MiB" vorhanden ist (behandeln Sie das Ergebnis mit Vorsicht):
Wie bereits erwähnt, ersetzen Sie "DiskIdentifier" durch die ID Ihrer internen SSD, die Sie mit gefunden haben
diskutil list
. Wahrscheinlich ist es disk0.Die obigen smartctl-Befehle funktionieren nicht sehr zuverlässig (zumindest für mich).
Wenn Sie eine Fehlermeldung wie "Lesen von SMART-Daten fehlgeschlagen: Undefinierter Fehler: 0" erhalten, versuchen Sie es
smartctl -A /dev/disk0
zuerst.Wenn Sie eine Fehlermeldung wie "SMART Disabled. Verwenden Sie die Option -s mit dem Argument 'on', um sie zu aktivieren."
smartctl -s on -A /dev/disk0
Erhalten , versuchen Sie, die obigen Befehle erneut auszuführen, um die auf die Festplatte geschriebenen Daten auszulesen und zu berechnen.
* smartmontools
quelle
smartctl -s on /dev/DiskIdentifier
. Dann können Sie die Daten abrufen. So deaktivieren Sie es erneut:smartctl -s off /dev/DiskIdentifier
smartctl
es einfach über Homebrew oder Port installiert werden kann und dass es sogar eine GUI dafür gibt.In der ursprünglichen Veröffentlichung wird erwähnt, dass SSDs ein Limit von 1000 bis 2000 Zyklen haben, wodurch das Problem zu stark vereinfacht wird. Einzelne Zellen in einer SSD können eine solche Beschränkung haben, aber die SSD implementiert viele verschiedene Lösungen: von der Über-Bereitstellung und dem Schreiben bis zu Sandforce's proprietärer Sammlung von Deduplizierungs-, Komprimierungs- und Datenunterscheidungstechniken, die sie "DuraWrite" nennt.
Zurück zum ursprünglichen Beitrag: Techniken
iostat
, die zwar relevant sind, jedoch eine aggregierte Aktivität zeigen, ist es sehr schwierig, rückwärts zu arbeiten, um zu wissen, wie viele Programmier- / Löschzyklen für jede Zelle durchgeführt wurden und wie viel Leben auf der SSD verbleibt.Eine sinnvolle Empfehlung könnte darin bestehen, das Füllen von SSDs innerhalb von etwa 20% ihrer angegebenen Kapazität und das Bereitstellen gebrauchter SSDs ohne angemessene Sicherung zu vermeiden.
Ars Technica bietet einige wirklich nützliche Artikel zur Funktionsweise von SSDs. Am direktesten nützlich ist dies: " SSDs für Endverbraucher halten eine verdammt lange Zeit ". Weitere Einzelheiten finden Sie hier , insbesondere auf Seite 5.
quelle
Ich habe GSmartControl mit Homebrew (
brew install gsmartcontrol
) installiert und Folgendes erhalten :Das SMART-Attribut Nr. 173 (Erase Count oder Wear Leveling) sollte bedeuten, dass die Sektorschreibvorgänge insgesamt aufgebraucht sind.
Mein MacBook 2015 hat dies beantwortet (keine 0xf1 ID):
quelle
Eine sehr detaillierte Antwort wurde in dieser Frage hier gegeben
Der folgende Befehl
spiegelt die Datenübertragungsstatistik vom Zeitpunkt der Bereitstellung des Geräts bis zum Zeitpunkt der Ausführung des Befehls iostat wider.
quelle