Wyszukiwanie w witrynie

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/sda

Przykładowe dane wyjściowe:

/dev/sda:
 Timing buffered disk reads: 246 MB in  3.00 seconds =  81.97 MB/sec

Sprawdź 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/sda

Przykładowe dane wyjściowe:

/dev/sda:
 Timing O_DIRECT disk reads: 242 MB in  3.02 seconds =  80.21 MB/sec

Teraz 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/sec

Znajdź 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/sda

W 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/sda

Przykł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/sda

Jeś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/sda

Aby przyspieszyć ruch głowy, wykonaj:

sudo hdparm -M 254 /dev/sda

Pamię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 supported

Buforowanie 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/sda

Przykł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/sda

Jeś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/sda

Chociaż 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/sda

Przykł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/sec

Test 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 hdparm

Test 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.

Powiązane artykuły