답변:
lsblk의 명령은이를 위해 중대하다 :
lsblk -o NAME,PHY-SeC
결과 :
NAME PHY-SEC
sda 512
├─sda1 512
├─sda2 512
└─sda5 512
리눅스는 물리 섹터 크기를 파일로 노출시킨다 /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) 일 수 있습니다. BTW, 탐욕스럽고 5k (512 * 10)의 블록 크기 또는 과도한 것을 사용하면 도움이되지 않습니다. 결국 시스템 자체가 장치에 병목 현상을 일으켜 백업 프로세스에서 추가 성능을 짜낼 수 없습니다. (강조 추가)
데이터 세트가 크지 않은 한 주어진 구성에 대한 최적의 블록 크기와 최적의 블록 크기 간의 성능 차이는 무시할 만하다고 생각합니다. 실제로 FixUnix 사용자 (2007 년 이후)는 최적 시간이 차선보다 5 % 빠르다고 주장했습니다. "클러스터"크기 또는 파일 시스템 블록 크기를 여러 개 사용하여 효율성을 약간 높일 수 있습니다.
물론 최적 블록 크기의 한쪽으로 너무 멀리 이동하면 문제가 발생할 수 있습니다.
결론은 절대 최적의 블록 크기로 약 5 %의 성능 (즉, 시간당 3 분) 만 얻을 수 있으므로 더 연구 할 시간과 노력이 필요한지 고려하십시오. 극한의 가치에서 벗어나면 고통을받지 않아야합니다.
echo "p" | /sbin/fdisk /dev/sda...
대신에 몇 가지 이유 가 /sbin/fdisk -l /dev/sda...
있습니까? 두 번째는 더 깨끗하고 변경을 시도하지 않습니다.
/sbin/fdisk -l /dev/sda | grep Units
. 지난 2 년 동안 변경되었을 수 있습니다. 어쨌든 귀하의 답변을 업데이트했습니다.
각 디스크 전송은 프로세서가 처리해야하는 인터럽트를 생성합니다. 일반적인 50Mb / s 디스크는 512b 블록 크기에서 초당 100000 개의 디스크를 생성하려고합니다. 일반 프로세서는 수만 개를 처리하므로 더 큰 (2 ^ x) 블록 크기가 더 편리합니다 (대부분의 경우 기본 FS 블록 크기는 4k) 최대 64k ISA DMA 크기의 시스템)이 더 실용적입니다 ...