回答:
lsblkのコマンドは、このための素晴らしいです。
lsblk -o NAME,PHY-SeC
結果:
NAME PHY-SEC
sda 512
├─sda1 512
├─sda2 512
└─sda5 512
Linuxは、ファイルの物理セクターサイズを公開します/sys/block/sdX/queue/physical_block_size
。ただし、最高のパフォーマンスを得るには、さまざまなサイズと手段で少しテストする必要があります。物理ブロックサイズを正確に使用すると最適な結果が得られるという明確な答えを見つけることができませ ん でした(ただし、それは悪い選択ではないはずです)。
hdparm
はすべてあなたにうそをつくでしょう。
私のものは完全な答えになることを意図したものではありませんが、私もそれが役立つことを願っています。
http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.htmlからちょっとしたものがあります
バックアップを迅速に行うには、バックアップするディスクデバイスの最適なブロックサイズを特定するのに役立ちます。/ dev / sdaをバックアップする場合、fdiskコマンドを使用して最適なブロックサイズを決定する方法は次のとおりです。
rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units
Units = cylinders of 16065 * 512 = 8225280 bytes
fdiskの出力には「16065 * 512のシリンダー」と表示されていることに注意してください。これは、ディスク上のブロックごとに512バイトがあることを意味します。ブロックサイズを2から4の倍数だけ増やすことで、バックアップの速度を大幅に向上させることができます。この場合、最適なブロックサイズは1k(512 * 2)または2k(512 * 4)です。ところで、欲張りになって、5k(512 * 10)のブロックサイズを使用したり、過剰なものを使用しても役に立ちません。最終的に、システムはデバイス自体でボトルネックになり、バックアッププロセスから追加のパフォーマンスを引き出すことができなくなります。(強調を追加)
データセットが膨大でない限り、特定の構成に対する最適に近いブロックサイズと最適なブロックサイズのパフォーマンスの違いは無視できると思います。実際、FixUnixのユーザー(2007年以降)は、最適な時間は最適でない時間よりも5%だけ速いと主張しました。「クラスタ」サイズまたはファイルシステムのブロックサイズの倍数を使用することで、もう少し効率を絞ることができます。
もちろん、最適なブロックサイズのいずれかの側に移動しすぎると、問題が発生します。
一番下の行は、絶対的な最適なブロックサイズでパフォーマンスが約5%(つまり、1時間あたり3分)しか得られない可能性が高いため、時間と労力をかけて調査する価値があるかどうかを検討してください。極端な値から離れている限り、苦しむべきではありません。
echo "p" | /sbin/fdisk /dev/sda...
の代わりに/sbin/fdisk -l /dev/sda...
?2番目はよりクリーンになり、変更を試みません。
/sbin/fdisk -l /dev/sda | grep Units
ます。過去2年間で変更された可能性があります。いずれにせよ、私はあなたの答えを更新しました。
各ディスク転送は、プロセッサが処理する必要がある割り込みを生成します。典型的な50Mb / sディスクは、512bブロックサイズで毎秒100000個を生成する必要があります。通常のプロセッサは数万個を処理します。 64k ISA DMAサイズまでのシステム)がより実用的です...