Sabit diskimden dd kullanarak büyük bir kopya için en uygun boyutu bulmaya çalışıyorum. Kullanmak için en iyi blok boyutunun ne olduğunu bulmaya çalışıyorum, ki sanırım bu sürücünün donanım bloğu boyutu.
Sabit diskimden dd kullanarak büyük bir kopya için en uygun boyutu bulmaya çalışıyorum. Kullanmak için en iyi blok boyutunun ne olduğunu bulmaya çalışıyorum, ki sanırım bu sürücünün donanım bloğu boyutu.
Yanıtlar:
Lsblk komut bunun için mükemmeldir:
lsblk -o NAME,PHY-SeC
Sonuçlar:
NAME PHY-SEC
sda 512
├─sda1 512
├─sda2 512
└─sda5 512
Linux, fiziksel sektör boyutunu dosyalarda gösterir /sys/block/sdX/queue/physical_block_size
. Bununla birlikte, en iyi performansı elde etmek için muhtemelen farklı boyutlarda ve ölçülerde küçük bir test yapmanız gerekir. Ben olabilir değil bulmak bir net cevap (Ben kötü bir seçim olamaz varsayıyorum rağmen) tam olarak fiziksel blok boyutu kullanılarak optimum sonuç elde edeceğini de.
hdparm
muhtemelen sana yalan söyler.
$ sudo hdparm -I /dev/sda | grep -i physical
Physical Sector size: 4096 bytes
hdparm -I /dev/sda | grep Sector
kolay karşılaştırma için hem fiziksel hem de mantıksal boyutları aynı anda göstereceği için daha iyidir.
Benimki tam bir cevap olarak düşünülmedi, ama inşallah da yardımcı olur.
İşte http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.html adresinden küçük bir şeyler
Daha hızlı bir yedekleme için, yedekleyeceğiniz disk cihazının en uygun blok boyutunu belirlemenize yardımcı olabilir. / Dev / sda'yı yedekleyeceğinizi farz edersek, fdisk komutunu en iyi blok boyutunu belirlemek için nasıl kullanacağınızı varsayalım:
rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units
Units = cylinders of 16065 * 512 = 8225280 bytes
Fdisk çıktısının "16065 * 512 silindir" yazdığını unutmayın. Bu, diskte blok başına 512 bayt olduğu anlamına gelir. Blok boyutunu 2 ila 4 katları artırarak yedekleme hızını önemli ölçüde artırabilirsiniz. Bu durumda, en uygun blok boyutu 1k (512 * 2) veya 2k (512 * 4) olabilir. BTW, açgözlü olmak ve 5k (512 * 10) büyüklüğünde veya aşırı miktarda blok kullanmak yardımcı olmaz; Sonunda sistem cihazın kendisinde bir darboğaz oluşturacak ve yedekleme sürecindeki herhangi bir ek performansı kaldıramayacaksınız. (vurgu eklendi)
Veriler çok büyük olmadığı sürece, belirli bir konfigürasyon için optimal ve optimal blok büyüklüğü arasındaki performans farkının önemsiz olduğunu düşünüyorum. Nitekim, FixUnix'teki bir kullanıcı (2007'den sonraki yazı), optimal zamanlarının, optimal olmayan zamanlardan sadece% 5 daha hızlı olduğunu iddia etti. Belki de "küme" boyutunun ya da dosya sistemi blok boyutunun bir kısmını kullanarak biraz daha fazla verim alabilirsiniz.
Tabii ki, en uygun blok boyutunun her iki tarafına da çok uzaklaşırsanız, başınız belaya girer.
Sonuç olarak, mutlak en uygun blok boyutuyla performansta sadece yaklaşık% 5 (yani saatte 3 dakika) kazanacağınız için, daha fazla araştırma yapmak için zaman ve çaba harcadığınızı düşünün. Aşırı değerlerden uzak durduğunuz sürece, acı çekmemelisiniz.
echo "p" | /sbin/fdisk /dev/sda...
yerine kullanmak için bazı nedenler /sbin/fdisk -l /dev/sda...
? ikincisi daha temiz olacak ve değişiklik yapmaya çalışmaz.
/sbin/fdisk -l /dev/sda | grep Units
. Son iki yılda değiştirilmiş olabilir. Her durumda cevabınızı güncelledim.
Her disk transferi, işlemcinin işlemesi gereken bir kesinti oluşturur. Tipik 50Mb / s disk, 512b blok boyutunda saniyede 100000 tane üretmek isteyecektir. Normal işlemci, bunlardan 10'unu idare eder, bu nedenle daha büyük (2 ^ x) blok boyutu daha kullanışlı olur (çoğu zaman varsayılan FS blok boyutu olarak 4k). 64k ISA DMA boyutuna kadar olan sistemler) daha pratik olurdu ...
Ek olarak, lshw
diğer sonuçları doğrulamak için çıktılarına bakabilirsiniz (ve aynı zamanda hdparm
dağıtımım için uygun görünmüyorum .) Bu, daraltılmasına yardımcı olabilir:
sudo lshw | awk 'BEGIN {IGNORECASE=1;} /SCSI/,!//{print}'