Jak sprawdzić kondycję dysku SSD?

81

Wszyscy wiemy, że dyski SSD mają ograniczony, z góry określony okres użytkowania. Pytanie więc brzmi: w jaki sposób mogę sprawdzić (Ubuntu) Linux, jaki jest obecny stan mojego dysku SSD? A może oszacowanie, ile to zajmie?

Preferowane jest narzędzie graficzne, ale narzędzie wiersza poleceń również byłoby w porządku.

Używam Xubuntu 12.04 LTS

keiki
źródło
1
Czy możesz dodać wynik smartctl -i /dev/sdaswojego pytania?
Mitch
1
@ dschinn1001 Nie do końca, dotyczy to tylko najnowszych dysków SSD. Wiadomo, że dyski SSD pierwszej i drugiej generacji mają ograniczoną żywotność w zależności od liczby operacji zapisu na dysku.
João André
1
Pochodząc ze starej szkoły wirujących dysków, użyłem narzędzi do testowania HD, które kilka razy napisały i przeczytały cały dysk, co zajęło kilka godzin. Wydaje się, że żadne z wymienionych narzędzi nie stosuje takiego podejścia? Czy takie podejście nie ma sensu w przypadku dysków SSD? Cóż, wydaje się, że SSD rejestruje własne doświadczenia, a następnie może stwierdzić, czy jest chory. Czy zrozumiałem to poprawnie?
Mads Skjern
@MadsSkjern Całkowicie wykonalne jest użycie narzędzia takiego jak badblocks, aby sprawdzić status dysku SSD. Istnieją jednak bardzo dobre powody, aby tego NIE robić. Z mojego doświadczenia wynika, badblocksże dyski SSD zwykle zawodzą po przekroczeniu pewnego progu zapisu, więc niszczący test zapisu, który można wykonać, może faktycznie skrócić żywotność dysku.
Starszy Geek,

Odpowiedzi:

35

Zainstaluj narzędzie Gnome Disk Utility i sprawdź dane i testy SMART pod kątem stopnia zużycia lub podobnego. Im wyższa liczba (%, od 1 do 100), tym bardziej „zużywa się” Twój dysk SSD, co oznacza, że ​​masz większe problemy. Ale jeśli masz najnowszy dysk SSD, nie musisz się tym martwić.

Zainstalowany przez

 sudo apt-get install gnome-disk-utility

zacznij przez

albo menu-> Ustawienia-> Narzędzie dyskowe

lub za pomocą wiersza poleceń

sudo gnome-disks
João André
źródło
2
Tak, nie byłem pewien tej nazwy, ponieważ zmieniono ją w 12.10
João André
8
palimpsest nie jest rozpoznawany przez Ubuntu 14.04, chociaż gnome-disk-narzędzie jest zainstalowane. Nie widzę też narzędzia dyskowego w ustawieniach (ikona koła zębatego). palimpsestto okropna nazwa, czy nazwa różni się w zależności od języka użytkownika (np. angielski vs. coś innego).
Paul,
10
jako uwaga dla czytelników; nazwa palimpset została przemianowana na gnome-disks (jak wspomniano askubuntu.com/a/623306/4580 ).
immeëmosol
2
Dlaczego mówisz „Jeśli masz najnowszy dysk SSD, nie musisz się tym martwić”?
JFA
2
Masz to wstecz. Numer zużycia zaczyna się od 100 i maleje wraz z użytkowaniem, więc im wyższy numer, tym MNIEJ jest używany dysk SSD, patrz tutaj: superuser.com/questions/1037644/…
Logix,
48

aby sprawdzić kondycję dysku SSD

Dla dystrybucji opartych na Ubuntu, Mint lub Debian

# apt-get install smartmontools

Media_Wearout_Indicator jest tym, czego szukasz. Dla 100 oznacza, że ​​twoje ssd ma 100% życia, niższa liczba oznacza mniej życia.

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

Aby wyświetlić informacje o dysku SD

# smartctl -a /dev/sda

Możesz przeczytać cały artykuł na blogu Nam Huy Linux - Jak sprawdzić żywotność dysku SSD na Linuksie

Blanca Higgins
źródło
1
Więc jeśli moja ma wartość 199 - 199, to czy jest wiarygodna?
m4tm4t
7
Ta właściwość nie pojawia się na moim dysku SSD. Może powinienem zamiast tego spojrzeć na Wear_Leveling_Count? jak w: sudo smartctl -a / dev / sda | grep Wear_Leveling_Count EDYCJA: Potwierdzona przez odpowiedź poniżej: askubuntu.com/a/381779/221115
Jose Gómez
Na Kingston maszWear_Range_Delta
phreakbox
W KINGSTON SV300S37A240G powinieneś poszukaćSSD_Life_Left
Herlon Aguiar
Blanca Higgins, namhuy.net/1024/how-to-check-ssd-life-left.html nie żyje.
pan.zog
35

Jeśli nie masz dysku SSD marki Intel: PRZECZYTAJ TO.

Uważaj !! - Byłem bezradnie wprowadzany w błąd przez „smartmontools”. Mam dysk Samsung SSD, a narzędzie smartmonitor / „smartctl” szczęśliwie błędnie zgłosiło, że atrybut „233” (hex „E9”) to „Media_Wearout_Indicator”; w rzeczywistości - nie, w przypadku Samsunga (i innych producentów) jest zupełnie inaczej. To i inne posty na forum, pytania / odpowiedzi dotyczące wymiany stosów i blogi użytkowników zaawansowanych wydają się być „skoncentrowane na Intelu”, a jedynie niejasne wskazówki, że „może się różnić”. (W porównaniu z wszelkimi sugestiami, które należy uważać na nieprawidłowe i błędne etykietowanie atrybutu przez smartmontools).

Gdy przygotowywałem się do skopiowania mojego dysku SSD na nowy dysk twardy, który kupiłem (z powodu tego, co powiedział mi smartmontools), uruchomiłem system Windows (mam system podwójnego rozruchu), aby dowiedzieć się czegoś o dyskach SSD z tego, co tylko w systemie Windows Narzędzie Samsung „Samsung_Magician_v43.exe” musiało mi powiedzieć o moim dysku - było to szokująco nieinformacyjne.

Po wielu godzinach kopania - w końcu mogłem uruchomić narzędzia tylko dla systemu Windows: hddgaurdian - „code.google.com/p/hddguardian”, a następnie CrystalDiskInfo: Niespodzianka! oba narzędzia niezależnie mówią mi, że mój dysk Samsung SSD jest „w porządku” (opiekun dysku twardego mówi „5 gwiazdek”, a Crystal Disk „98% OK”). W przeciwieństwie do tego narzędzie smartctl wyraźnie oznaczyło atrybut jako „dziesiętny 233 /„ szesnastkowy E9 ”jako„ Wskaźnik zużycia mediów ”- i powiedział mi, że jego wartość wynosi„ 1 ”lub 1% - wskaźnik (ryzyko) oczekująca awaria. Aby mieć pewność, jak tylko potrafię, kopałem i kopałem i wreszcie udało mi się znaleźć przynajmniej coś od oficjalnego Samsunga: „ http://www.samsung.com/global/business/semiconductor/minisite/SSD/us/download/ 07_Communicating_With_Your_SSD.pdf„Dokument rzeczywiście sugeruje, że atrybut„ hex E9 ”/„ decimal ”233” nie jest używany przez Samsung w ten sam sposób. (Samsung: Jestem bardzo rozczarowany, proszę albo napraw swoje oficjalne narzędzie programowe, albo przynajmniej je jasne, że nie podajesz informacji o zużyciu!)

Co więcej - jeśli nie masz ani dysku SSD Intel, ani Samsung SSD - ostrzegamy, te informacje wydają się różnić w zależności od producenta. (np. zobacz tabelę etykiet atrybutów na „code.google.com/p/hddguardian/wiki/about_reliability”, aby znaleźć jedyne użyteczne wskazanie stwierdzonego stopnia zmienności).

Tak więc: jeśli nie masz dysku SSD firmy Intel - nie daj się zwieść fałszywym etykietom nazw atrybutów dostarczonym przez smartmonitor. Być może poprawi się w przyszłości, ale wersja domyślnie instalowana dla Ubuntu 12.04 LTS (kwiecień 2014) była całkowicie nieudana. Zamiast powiedzieć ci, że „nie wie” - smartctl po prostu źle oznaczył atrybut. Nie znalazłem innego narzędzia dla systemu Linux, które sprawiałoby, że „prawidłowe” informacje były przejrzyste lub jasne.

Matt S.
źródło
1
Propozycje dołączenia linku do dokumentacji Samsunga dotyczącej ich atrybutów SMART. Nie mam pojęcia, jakie są inne aplikacje, o których wspomniałeś, ani jak są one przydatne, ale zdecydowanie zalecam po prostu obserwowanie atrybutu nr 5 „Reallocated Sector Count”, ponieważ będzie to dobry wskaźnik tego, jak blisko jest twój dysk SSD do awarii, ponieważ gdy zabraknie wolnych sektorów, musi zastąpić te, które się psują, to zbliżasz się do EOL na dysku SSD
Maks.
1
Plik PDF można teraz znaleźć na stronie samsung.com/global/business/semiconductor/minisite/SSD/M2M/…
Force
10

Dla dysków Kingston na komputerach z systemem Debian

Wykonaj podobnie do tej odpowiedzi

# apt-get install smartmontools

Jednak po wykonaniu polecenia, aby wyświetlić informacje o dysku, wygląda na to, że SMART został wyłączony:

# smartctl -a /dev/sda 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-45-generic] (local build)
[ ... ]
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

Musisz to włączyć, wykonując następujące czynności jako root:

# smartctl -s on -a /dev/sda

Następnie możesz wykonać autotest, wykonując krótki test (który zajął mi około 1 minuty):

# smartctl -t short -a /dev/sda

lub dokładniejszy test (który zajął mi około 1,5 godziny):

# smartctl -t long -a /dev/sda

Uwaga: w większości przypadków nie trzeba odmontowywać dysku, aby wykonać te testy. Jeśli tak, zobacz man smartctl.

Teraz, kiedy wykonasz smartctl -a /dev/sda, powinieneś zobaczyć wynik testu samooceny. To chyba wszystko, czym naprawdę musisz się zająć:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Jeśli lubisz szczegóły, zobaczysz również tabelę taką:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   095   095   050    Old_age   Always       -       0/178007034
  5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours_and_Msec 0x0032   092   092   000    Old_age   Always       -       7626h+46m+45.580s
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       8
171 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       4
177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       1
181 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0012   100   100   000    Old_age   Always       -       0
189 Airflow_Temperature_Cel 0x0000   030   035   000    Old_age   Offline      -       30 (Min/Max 24/35)
194 Temperature_Celsius     0x0022   030   035   000    Old_age   Always       -       30 (Min/Max 24/35)
195 ECC_Uncorr_Error_Count  0x001c   120   120   000    Old_age   Offline      -       0/178007034
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unc_Soft_Read_Err_Rate  0x001c   120   120   000    Old_age   Offline      -       0/178007034
204 Soft_ECC_Correct_Rate   0x001c   120   120   000    Old_age   Offline      -       0/178007034
230 Life_Curve_Status       0x0013   100   100   000    Pre-fail  Always       -       100
231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
233 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       3498
234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       2885
241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       2885
242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       868

Jeśli szukasz, co oznaczają wszystkie te wartości, zapoznaj się z dokumentacją Kingston .

Mikrofon
źródło
Jeśli zamierzasz zagłosować, przynajmniej zostaw komentarz ...
Mike
1
Nie wszystkie dyski SSD firmy Kingston obsługują je wszystkie. Niektóre, które tego nie robią (jak mój UV400 ) wydają się wyświetlać losowe liczby w tych polach, których nie obsługują.
otus
w odpowiedzi brakuje kilku użytecznych wskazówek na temat inteligentnych szczegółów. Aby upewnić się, że czytelnik odpowiednio odczytuje wynikową tabelę wartości. Krótko mówiąc, wydaje mi się, że wartość SSD_Life_Left jest najprostszym wskaźnikiem. Jeśli 100, fabrycznie nowy SSD, jeśli 1, Walking Dead SSD.
mh-cbon,
@ mh-cbon Ponieważ odpowiedź jest już dość trudna, po prostu połączyłem się z dokumentacją Kingston, ponieważ jest tam wiele szczegółów. Jeśli jednak uważasz, że możesz poprawić odpowiedź, możesz ją edytować.
Mike
5

Wear_Leveling_Count to właściwy atrybut do śledzenia. Jednak, podobnie jak inne atrybuty, 100 jest NAJLEPSZĄ wartością, a 0 jest NAJGORSZY. Pomyśl o tym jako o „pozostałym życiu procentowym”.

Jim Van Zandt
źródło
3
Może się różnić w zależności od producenta, ale najprawdopodobniej jest to bardzo źle. Na tej stronie wyjaśniającej kody mikronowe (aka. Krytyczne, jak w „kluczowych m4” itp.), Ten kod to „Średnia liczba wymazań wszystkich dobrych bloków”. To liczba, która wzrośnie w miarę użytkowania. Jeśli poczytasz trochę informacji na temat wyrównywania zużycia , zdasz sobie sprawę, że powinno ono sięgać co najmniej do dziesiątek tysięcy, zanim napęd się zepsuje (tzn. Prawdopodobnie nie dożyjesz, aby zobaczyć, jak w ten sposób umiera).
goldilocks,
2
Mój mówi 1461.
CMCDragonkai
4

Najlepszym sposobem sprawdzenia stanu dysku SSD jest przestrzeganie zaleceń producenta. Ponieważ różnią się one od producenta do producenta i mogą się zmieniać w miarę upływu czasu, warto skontaktować się z producentem dysków, jeśli masz wątpliwości. W oparciu o oceny MTBF (standard JEDEC JESD218A określa metodę) dostarczone przez większość producentów dysk SSD powinien bez problemu trwać znacznie ponad milion godzin.

Mam kilka z nich obejmujących kilku producentów. Mogę zagwarantować, że atrybuty SMART różnią się w zależności od producenta. Dla celów porównawczych oto przykład z OCZ i inteligentnych danych z jednostki Corsair F40 wraz z dyskusją na temat wiarygodności tych danych.

Chociaż dane SMART z pewnością mogą mieć wartość, ponieważ ostatecznie wszystkie urządzenia ulegają awarii, ważną rzeczą jest regularne tworzenie kopii zapasowych danych. Zapewnia to poczucie bezpieczeństwa danych podczas oczekiwania (prawdopodobnie przez kilka lat) na awarię dysku SSD. Wraz ze spadkiem kosztów i wzrostem pojemności, jest bardziej prawdopodobne, że wymienisz dysk SSD z powodu ograniczeń miejsca niż awarii. (Z mojego doświadczenia 10 razy bardziej prawdopodobne). Po prostu regularnie tworzyłem kopie zapasowe i nie przejmowałem się tym.

Źródła:

Doświadczenie, http://www.hardcoreware.net/mtbf-ssd-what-does-it-mean-for-you/

Starszy Geek
źródło
0

W przypadku (przynajmniej niektórych) napędów NVMe możesz to zrobić

smartctl -a /dev/nvme0

Następnie możesz poszukać linii takiej jak:

Percentage Used:                    5%

Tutaj niższe liczby są lepsze i 100%oznaczają, że dysk jest „zużyty”. Dokumentacja producenta sugeruje, że możliwe jest uzyskanie liczb powyżej 100%, jeśli nadal będziesz korzystać z napędu poza tym punktem ( przykład z Seagate, patrz strona 12 ).

Pamiętaj, że jeśli użyjesz przestrzeni nazw lub urządzeń partycjonujących, takich jak /dev/nvme0n1lub /dev/nvme0n1p1, to nie będzie działać, a zamiast tego otrzymasz komunikat podobny do tego Read NVMe SMART/Health Information failed: NVMe Status 0x4002.

Nate Eldredge
źródło