GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare la velocità di trasferimento dei dati del disco rigido in Linux

Questa guida ti insegnerà come trovare la velocità di trasferimento dei dati del disco rigido in Linux. In altre parole, identificheremo la velocità con cui il disco rigido fornisce i dati nei sistemi operativi simili a Linux e Unix.

Parleremo anche di altre cose utili come quanti settori può leggere un HDD contemporaneamente, funzionalità di lettura anticipata, modalità acustica, cache di writeback e benchmarking HDD ecc.

Ai fini di questa guida, utilizzeremo hdparm utilità della riga di comando per controllare la velocità di lettura, scrittura del disco rigido e testare le prestazioni del disco rigido.

Nel caso te lo fossi perso, abbiamo già utilizzato hdparm per trovare i dettagli dell'unità disco rigido in Linux. Ora useremo lo stesso hdparm utility per misurare la velocità di trasmissione del disco rigido.

Una parola di cautela

Anche se hdparm offre vantaggi significativi per aumentare le prestazioni del disco, inoltre è ESTREMAMENTE PERICOLOSO . Molto probabilmente porterà a una massiccia perdita di dati quando alcuni parametri vengono utilizzati in modo improprio. La documentazione di hdparm suggerisce che NON DOVREBBE UTILIZZARE ALCUNI COMANDI IN NESSUN CASO . Quindi ho escluso comandi così pericolosi in questa guida. Ancora più importante, si consiglia sempre di eseguire il backup del disco rigido prima di testare il disco rigido con hdparm sul tuo sistema Linux.

Trova la velocità di trasferimento dei dati del disco rigido in Linux

Per controllare la velocità di trasferimento dei dati dell'HDD in Linux, esegui "hdparm" comando con -t segnala come di seguito:

$ sudo hdparm -t /dev/sda

Risultato di esempio:

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

Come puoi vedere, la velocità di trasferimento dei dati è 81,97 MB al secondo. Assicurati che nessun altro programma sia in esecuzione in background.

Esegui hdparm comanda almeno due o tre volte e calcola la velocità media di trasferimento dati del tuo disco dai risultati.

Come puoi vedere nell'output sopra, il kernel Linux mette i dati recuperati dall'HDD in un buffer durante il trasferimento dei dati. Se desideri misurare una velocità di trasferimento dati più accurata, utilizza:

$ sudo hdparm -t --direct /dev/sda

Risultato di esempio:

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

Ora, il hdparm il programma non utilizzerà il buffer e leggerà i dati direttamente dall'HDD. Come hai notato nell'output sopra, la velocità di trasferimento è diminuita senza il buffer.

Hdparm leggerà sempre i dati dall'inizio dei dispositivi di archiviazione. Se vuoi hdparm per leggere i dati da un'altra area del dispositivo di archiviazione, puoi utilizzare il "offset" parametro come di seguito.

$ sudo hdparm -t --direct --offset 10 /dev/sda

Qui, 10 sta per numero di Gigabyte da saltare. Come per il comando precedente, i primi 10 GB verrà saltato durante la lettura dei dati dal disco. Su un 20GB disco, il comando precedente consegnerebbe i dati dal centro del disco.

Risultato di esempio:

dev/sda:
 Timing O_DIRECT disk reads (offset 10 GB): 244 MB in  3.01 seconds =  81.15 MB/sec

Confronta la velocità di trasferimento dell'HDD con e senza i valori di offset. Quando abbiamo usato il "offset" parametro nel secondo comando, la velocità di trasferimento è diminuita. Quindi, sembra che i dischi rigidi trasmettano i dati un po' più lentamente dalle aree esterne dei dischi.

Trova quanti settori legge un disco rigido

Di solito, un disco rigido legge più settori contemporaneamente per velocizzare la trasmissione dei dati. Puoi trovare questo valore eseguendo:

$ sudo hdparm -I /dev/sda

Sotto le "Capabilities" sezione, vedrai un output come di seguito.

[...]
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 
[...]

Come per l'output sopra, il mio disco rigido legge 16 sectors alla volta.

Alcuni HDD moderni possono recuperare i settori in anticipo. Questa funzione si chiama "read ahead" . Puoi trovare questo valore usando "-a" segnala come di seguito:

$ sudo hdparm -a /dev/sda

Risultato di esempio:

/dev/sda:
readahead     = 256 (on)

Come puoi vedere nell'output sopra, l'HDD può leggere 256 settori in anticipo.

Metti l'HDD in modalità silenziosa per aumentare il tempo di accesso

Possiamo rallentare il movimento della testina in alcuni dischi rigidi moderni. Rallentare il movimento della testa diminuirà il livello di rumore e aumenterà i tempi di accesso.

Per verificare se il tuo HDD supporta questa "acoustic mode" funzione, esegui:

$ sudo hdparm -M /dev/sda

Se l'unità supporta la modalità acustica, dovresti avere un'uscita come quella di seguito.

/dev/sda:
acoustic      = 208 (128=quiet ... 254=fast)

Il valore attuale della modalità acustica è 208 nel mio sistema. I valori della modalità acustica possono essere impostati tra 128 a 254 .

Per mettere l'HDD in modalità silenziosa, esegui:

$ sudo hdparm -M 128 /dev/sda

Per mettere il movimento della testa ad alta velocità, corri:

$ sudo hdparm -M 254 /dev/sda

Tieni presente che il tuo sistema operativo dovrebbe supportare questa funzione.

Se non supporta questa funzione, vedrai questo:

dev/sda:
 acoustic      = not supported

Memorizzazione nella cache di writeback

Quando la modalità di memorizzazione nella cache di riscrittura è abilitata, l'HDD metterà i dati da scrivere in un buffer. In questo modo l'HDD può scrivere più velocemente.

Per verificare se la modalità di memorizzazione nella cache di writeback è abilitata, usa il flag "-W".

$ sudo hdparm -W /dev/sda

Risultato di esempio:

/dev/sda:
write-caching =  1 (on)

Se il valore di output è 1, la funzione di memorizzazione nella cache di writeback è abilitata. Se è 0, la cache di writeback è disabilitata. Puoi abilitarlo usando il comando:

$ sudo hdparm -W1 /dev/sda

Se hdparm non è in grado di abilitare questa funzione, assicurati che la funzione di memorizzazione nella cache di writeback sia abilitata nel BIOS.

Per disabilitarlo, usa semplicemente:

$ sudo hdparm -W0 /dev/sda

Anche se la memorizzazione nella cache di scrittura aumenta la velocità di scrittura, non è consigliata in alcune situazioni.

Ad esempio, quando l'alimentazione viene interrotta improvvisamente, i dati nel buffer andrebbero persi in modo permanente. Quindi non dovresti abilitare la funzione di memorizzazione nella cache di writeback durante l'esecuzione di programmi di database come PostgreSQL.

Esegui il benchmark del disco rigido dalla riga di comando

Per confrontare l'HDD e testare la velocità leggibile dell'unità, usa "T" maiuscolo e minuscolo "t" flag insieme come di seguito.

$ sudo hdparm -Tt /dev/sda

Risultato di esempio:

/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

Ripetere questo comando almeno 2-3 volte per ottenere un risultato significativo.

Per maggiori dettagli, controlla le pagine man.

$ man hdparm

Benchmark del disco rigido utilizzando l'utility grafica GNOME Disks

Se non ti piace il modo della riga di comando, i Dischi GNOME Il programma GUI ci consente anche di confrontare i dischi rigidi.

Apri Dischi dal menu o dal trattino. Seleziona il disco di cui desideri eseguire il benchmark, fai clic su tre punti e scegli "Benchmark Disk" opzione.

Fai clic su "Avvia benchmark" opzione per iniziare il benchmarking:

Conclusione

In questa guida, abbiamo discusso di come trovare la velocità di trasferimento dei dati del disco rigido in Linux (ovvero la velocità con cui il disco rigido fornisce i dati). Abbiamo anche esaminato come confrontare il disco rigido dalla modalità riga di comando e dalla modalità grafica utilizzando l'utilità GUI di Gnome Disks.

Immagine in primo piano da Pixabay.


Linux
  1. Come usare TROVA in Linux

  2. Come trovare un disco è SSD o HDD in Linux?

  3. Come limitare/limitare la velocità di trasferimento di rsync in Linux

  4. Come trovare il numero di modello dell'unità disco Linux?

  5. Spegni il mio disco rigido (di backup) su Linux quando non lo uso

Come trovare i dettagli del disco rigido in Linux

Come trovare l'indirizzo IP in Linux

Come elencare le partizioni del disco in Linux

Come trovare il nome host in Linux

Come controllare i blocchi danneggiati o i settori danneggiati sul disco rigido in Linux

Come posso monitorare il carico del disco rigido su Linux?