Jak znaleźć prędkość przesyłania danych na dysku twardym w systemie Linux
W tym przewodniku dowiesz się, jak znaleźć prędkość przesyłania danych na dysku twardym w systemie Linux. Innymi słowy, ustalimy, jak szybko Twój dysk twardy dostarcza dane w systemach operacyjnych Linux i Unix.
Porozmawiamy także o innych przydatnych rzeczach, takich jak liczba sektorów, które dysk twardy może odczytać jednocześnie, funkcja odczytu z wyprzedzeniem, tryb akustyczny, buforowanie zapisu zwrotnego i test porównawczy dysku twardego itp.
Na potrzeby tego przewodnika będziemy używać narzędzia wiersza poleceń hdparm do sprawdzania szybkości odczytu i zapisu dysku twardego oraz testowania wydajności dysku twardego.
Na wypadek, gdybyś to przeoczył, użyliśmy już narzędzia hdparm, aby znaleźć szczegóły dysku twardego w systemie Linux. Teraz użyjemy tego samego narzędzia hdparm do pomiaru szybkości transmisji dysku twardego.
Ostrzeżenie
Mimo że hdparm oferuje znaczące korzyści w zakresie zwiększania wydajności dysku, jest również BARDZO NIEBEZPIECZNY. Niewłaściwe użycie niektórych parametrów najprawdopodobniej doprowadzi do ogromnej utraty danych. Dokumentacja hdparm sugeruje, że NIE NALEŻY UŻYWAĆ NIEKTÓRYCH POLECEŃ W ŻADNYCH OKOLICZNOŚCIACH. Dlatego w tym przewodniku wykluczyłem takie niebezpieczne polecenia. Co ważniejsze, zawsze zaleca się wykonanie kopii zapasowej dysku twardego przed przetestowaniem dysku twardego za pomocą hdparm w systemie Linux.
Znajdź prędkość przesyłania danych na dysku twardym w systemie Linux
Aby sprawdzić prędkość transferu danych na dysku twardym w systemie Linux, uruchom komendę "hdparm" z flagą -t jak poniżej:
sudo hdparm -t /dev/sdaPrzykładowe dane wyjściowe:
/dev/sda:
Timing buffered disk reads: 246 MB in 3.00 seconds = 81.97 MB/secSprawdź prędkość dysku twardego za pomocą polecenia hdparm w systemie Linux
Jak widać, szybkość przesyłania danych wynosi 81,97 MB na sekundę. Upewnij się, że w tle nie działają żadne inne programy.
Uruchom polecenie hdparm co najmniej dwa lub trzy razy i oblicz na podstawie wyników średnią prędkość przesyłania danych na dysku.
Jak widać na powyższym wyjściu, jądro Linuksa umieszcza dane pobrane z dysku twardego w buforze podczas przesyłania danych. Jeśli chcesz zmierzyć dokładniejszą szybkość przesyłania danych, użyj:
sudo hdparm -t --direct /dev/sdaPrzykładowe dane wyjściowe:
/dev/sda:
Timing O_DIRECT disk reads: 242 MB in 3.02 seconds = 80.21 MB/secTeraz program hdparm nie będzie korzystał z bufora i będzie odczytywał dane bezpośrednio z dysku twardego. Jak zauważyłeś na powyższym wyjściu, szybkość transferu spadła bez bufora.
Hdparm zawsze będzie czytać dane od początku urządzeń magazynujących. Jeśli chcesz, aby hdparm odczytywał dane z innego obszaru urządzenia magazynującego, możesz użyć parametru "offset" jak poniżej.
sudo hdparm -t --direct --offset 10 /dev/sda
Tutaj 10 oznacza liczbę gigabajtów do pominięcia. Zgodnie z powyższym poleceniem pierwsze 10 GB zostanie pominięte podczas odczytu danych z dysku. Na dysku 20 GB powyższe polecenie dostarczy dane ze środka dysku.
Przykładowe dane wyjściowe:
dev/sda:
Timing O_DIRECT disk reads (offset 10 GB): 244 MB in 3.01 seconds = 81.15 MB/secZnajdź prędkość przesyłania danych na dysku twardym w systemie Linux
Porównaj szybkość transferu dysku twardego z wartościami przesunięcia i bez nich. Kiedy w drugim poleceniu użyliśmy parametru "offset", szybkość transmisji spadła. Dlatego wydaje się, że dyski twarde dostarczają dane nieco wolniej z zewnętrznych obszarów dysków.
Dowiedz się, ile sektorów odczytuje dysk twardy
Zwykle dysk twardy odczytuje kilka sektorów jednocześnie, aby przyspieszyć transmisję danych. Możesz znaleźć tę wartość, uruchamiając:
sudo hdparm -I /dev/sdaW sekcji „Możliwości” zobaczysz dane wyjściowe takie jak poniżej.
[...]
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: 254
Recommended acoustic management value: 208, current value: 208
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
[...]Zgodnie z powyższymi wynikami, mój dysk twardy odczytuje 16 sektorów na raz.
Niektóre nowoczesne dyski twarde mogą pobierać sektory z wyprzedzeniem. Ta funkcja nosi nazwę „czytaj z wyprzedzeniem”. Możesz znaleźć tę wartość za pomocą flagi "-a", jak poniżej:
sudo hdparm -a /dev/sdaPrzykładowe dane wyjściowe:
/dev/sda:
readahead = 256 (on)
Jak widać na powyższych wynikach, dysk twardy może z wyprzedzeniem odczytać sektory 256.
Przełącz dysk twardy w tryb cichy, aby wydłużyć czas dostępu
W niektórych nowoczesnych dyskach twardych możemy spowolnić ruch głowicy. Spowolnienie ruchu głowicy zmniejszy poziom hałasu i wydłuży czas dostępu.
Aby sprawdzić, czy Twój dysk twardy obsługuje tę funkcję „trybu akustycznego”, uruchom:
sudo hdparm -M /dev/sdaJeśli Twój dysk obsługuje tryb akustyczny, powinieneś uzyskać wynik taki jak poniżej.
/dev/sda:
acoustic = 208 (128=quiet ... 254=fast)sprawdź, czy dysk twardy obsługuje tryb akustyczny
Aktualna wartość trybu akustycznego w moim systemie to 208. Wartości trybu akustycznego można ustawić w zakresie od 128 do 254.
Aby przełączyć dysk twardy w tryb cichy, uruchom:
sudo hdparm -M 128 /dev/sdaAby przyspieszyć ruch głowy, wykonaj:
sudo hdparm -M 254 /dev/sdaPamiętaj, że Twój system operacyjny powinien obsługiwać tę funkcję.
Jeśli nie obsługuje tej funkcji, zobaczysz następujący komunikat:
dev/sda:
acoustic = not supportedBuforowanie z zapisem zwrotnym
Gdy włączony jest tryb buforowania zapisu zwrotnego, dysk twardy umieści dane do zapisu w buforze. W ten sposób dysk twardy będzie mógł szybciej zapisywać dane.
Aby sprawdzić, czy tryb buforowania z zapisem zwrotnym jest włączony, użyj flagi „-W”.
sudo hdparm -W /dev/sdaPrzykładowe dane wyjściowe:
/dev/sda:
write-caching = 1 (on)Jeśli wartość wyjściowa wynosi 1, funkcja buforowania z zapisem zwrotnym jest włączona. Jeśli wynosi 0, buforowanie zapisu zwrotnego jest wyłączone. Możesz to włączyć za pomocą polecenia:
sudo hdparm -W1 /dev/sdaJeśli hdparm nie może włączyć tej funkcji, upewnij się, że funkcja buforowania zapisu zwrotnego jest włączona w BIOS-ie.
Aby to wyłączyć, po prostu użyj:
sudo hdparm -W0 /dev/sdaChociaż buforowanie zapisu zwiększa prędkość zapisu, w niektórych sytuacjach nie jest to zalecane.
Na przykład, gdy nagle zaniknie zasilanie, dane w buforze zostaną trwale utracone. Dlatego nie należy włączać funkcji buforowania z zapisem zwrotnym podczas uruchamiania programów bazodanowych, takich jak PostgreSQL.
Test porównawczy dysku twardego z wiersza poleceń
Aby przeprowadzić test porównawczy dysku twardego i sprawdzić czytelną prędkość dysku, użyj razem wielkich i małych flag "T", jak poniżej.
sudo hdparm -Tt /dev/sdaPrzykładowe dane wyjściowe:
/dev/sda:
Timing cached reads: 7232 MB in 1.99 seconds = 3629.42 MB/sec
Timing buffered disk reads: 250 MB in 3.01 seconds = 82.99 MB/secTest porównawczy dysku twardego z CLI w systemie Linux
Powtórz to polecenie co najmniej 2-3 razy, aby uzyskać znaczący wynik.
Aby uzyskać więcej informacji, sprawdź strony podręcznika.
man hdparmTest porównawczy dysku twardego przy użyciu narzędzia graficznego GNOME Disks
Jeśli nie podoba Ci się sposób korzystania z wiersza poleceń, program GUI GNOME Disks umożliwia nam także testowanie dysków twardych.
Otwórz dyski z menu lub myślnika. Wybierz dysk, który chcesz przetestować, kliknij trzy kropki i wybierz opcję „Dysk porównawczy”.
Testuj dyski twarde za pomocą dysków GNOME
Kliknij opcję „Rozpocznij test porównawczy”, aby rozpocząć analizę porównawczą:
Uruchom test porównawczy z dyskami GNOME w systemie Linux
Wniosek
W tym przewodniku omówiliśmy, jak znaleźć prędkość przesyłania danych na dysku twardym w systemie Linux (tj. Jak szybko dysk twardy dostarcza dane). Przyjrzeliśmy się także sposobowi testowania dysku twardego w trybie wiersza poleceń i trybie graficznym za pomocą narzędzia GUI Gnome Disks.
Wyróżniony obraz z Pixabay.





