SD 카드 쓰기 속도가 읽기 속도보다 14 배 느립니다


11

오늘 저녁 Mac Book Air 내장형 카드 리더에서 SD 카드에 쓰고 있었는데 성능은 1.4MB / 초였습니다. 나중에 읽기 라즈베리 파이에 그것을 테스트 20 MB / 초를 얻었다. 6 급 카드이며이 수치들 중 어느 것도 현실적으로 들리지 않습니다!

dd테스트에 사용 하고 있습니다. 두 컴퓨터에서 모두 읽고 쓰는 동일한 테스트 결과 :

라즈베리 파이 : 초당 20MB 읽기 쓰기 11MB / 초 ...
공기 : 3MB / 초를 읽습니다. 1.4MB / 초 쓰기

다음 명령을 사용하십시오.

쓰기 시험 :

sudo dd if=/dev/zero of=/dev/mmcblk0p3 bs=1M count=400

시험을 읽으십시오 :

sudo dd of=/dev/null if=/dev/mmcblk0p3 bs=1M count=400

이것은 인식 된 이상이 통합 Mac Book Air SD 카드 리더기의 성능과는 다른 것으로 나타났습니다! 이미지 생성 속도가 매우 느립니다.


Sandisk는 클래스 6 카드의 읽기 속도가 20MBps라고 주장하지만 Kingston은 15MBps가 클래스 6 카드의 읽기 속도라고 주장합니다. Mac Book에 통합 SD 카드 리더가 있는지 여부를 모르겠습니다. 그러나 외부 (USB 2.0) 버전의 경우 SD 카드 판독기의 품질 (사용 된 칩 등)도 전체 성능에서 중요합니다. 그러나 이러한 장치를 사용하면 쓰기 속도가 항상 빠릅니다.
ikku

감사. 통합되어 있습니다. 꽤 좋은 읽기 성능. 쓰기 성능이 떨어집니다.
ScrollerBlaster

답변:


6

SD 카드 속도 등급은 비디오를 녹화하는 동안 카드에 필요한 최소 읽기 / 쓰기 성능을 지정합니다 . 클래스 번호는 카드를 사용할 때 얻을 수있는 최소 속도 (MB / s)입니다.

그러나 카드에서 읽는 것이 일반적으로 쓰는 것보다 훨씬 간단하다는 점을 명심하십시오. 이것이 일반적인 클래스 6 카드의 쓰기 속도가 15-20MB / s의 읽기 속도 (6MB / s 만 보장됨) 인 이유입니다.

읽기 / 쓰기 속도는 카드뿐만 아니라 하드웨어 및 소프트웨어의 여러 가지 요인에 의해 제한 될 수 있습니다. 특히 카드 리더 / 라이터의 일부 문제로 인해 제한 될 수 있습니다.

따라서 귀하의 상황에서는 카드가 Mac Book Air에서 성능이 좋지 않은 반면 RaspberryPi에서 적절하고 현실적인 성능을 발휘하는 것 같습니다. 그러나 Mac Book에서 쓰기 속도와 RaspberryPi에서 읽기 속도 를 테스트 했으므로 앞에서 언급했듯이 비교할 수 없습니다. 속도를 테스트하는 방법을 지정하지 않았기 때문에 왜 그러한 결과를 얻는 지에 대해서는 언급하기가 어렵습니다.


두 플랫폼 모두에서 읽고 쓰기를 테스트해야합니다. 내가 사용하는dd
ScrollerBlaster 8

@ScrollerBlaster : 읽기 속도와 쓰기 속도를 서로 비교할 수 없습니다. 마찬가지로, 거의 모든 것을 테스트 할 때 한 번에 하나만 변경하는 것이 좋습니다. 그러나 설정에서 모든 것 (OS, 호스트 컴퓨터, 카드 리더)을 변경했지만 한 가지 (sd 카드)로 변경하면 의미있는 결과를 얻지 못합니다.
Krzysztof Adamski

나는 동일한 OS에서 읽기와 쓰기를 비교할 것이라고 말했다. 그 접근 방식에 문제가 있습니까?
ScrollerBlaster

@ScrollerBlaster : 아뇨, 전혀 아닙니다. 나는 그들이 내 대답에서 비교할 수 없다고 말함으로써 내가 의미하는 바를 분명히하고 싶었습니다. 이 답변은 귀하뿐만 아니라 향후 비슷한 문제가 발생할 수있는 다른 모든 사람들을위한 것이므로 가능한 한 일반적인 조언을하려고 노력합니다.
Krzysztof Adamski

내 테스트에서 사과와 오렌지를 비교하지 않았다고 지적했을 때 이것은 매우 유효한 포인트였습니다. 첫 번째 의견에서 나는 테스트를 다시 실행할 것이라고 말했는데, 이는 두 플랫폼에서 읽고 쓰는 것을 다시 실행한다는 의미입니다. 그 후 나에게 당신의 후속 조언은 불필요했습니다. 앞으로 Air 대 PI에 대한 결론은 아직 미흡합니다. PI 포럼 인 경우 PI에 대한 읽기 및 쓰기 테스트가 가장 관련성이 높은 테스트입니다. dd안전한 쓰기 테스트를 수행하라는 명령이 있으면 사용하겠습니다!
ScrollerBlaster

10

MacBook의 SD 슬롯에서 최상의 속도를 얻으려면 '원시 디스크'장비를 사용해야합니다.

SanDisk Ultra Class 10 카드입니다.

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/disk1 bs=8m
231+1 records in
231+1 records out
1939865600 bytes transferred in 1076.078932 secs (1802717 bytes/sec)

이것을 /dev/rdisk1대신 사용과 비교/dev/disk1

~/Desktop/rpi $ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/rdisk1 bs=1m
1850+0 records in
1850+0 records out
1939865600 bytes transferred in 129.712100 secs (14955163 bytes/sec)

14.9MB / s에 비해 1.8MB / s – 거의 10 배 향상!


디스크와 rdisk의 차이점은 무엇입니까?
발렌티

"그들은 버퍼 캐시보다 물리 디스크에 더 가깝습니다. 반면에 / dev / disk 노드는 버퍼링 된 블록 전용 장치이며 주로 커널의 파일 시스템 코드에 의해 사용됩니다." - hidutil자세한 내용 은 매뉴얼 페이지를 확인하십시오.
Bert

1
두 테스트 사이에서 블록 크기가 변경 되었기 때문에 이것은 잠재적으로 오도 될 수 있습니다.
Nick

FWIW : 클래스 크기를 1m로 변경하고 장치 / dev / rdisk1과 쓰기 속도가 클래스 10 카드로 ~ 1.75MB / sec에서 ~ 11.4MB / sec로 변경되었습니다.
Gardner Bickford

rdisk2를 사용할 때 RPi SD 카드의 이미지를 작성하는 것이 20 배 빠릅니다. 나는 이것을 위해 블록 크기를 일정하게 유지했다 (4m). / dev / disk2를 사용하여 gdd는 197 kB / s로 기록합니다. / dev / rdisk2를 사용하여 10.6MB / s로 기록합니다.
judepereira

1

RAM에로드되는 캐시의 영향없이 벤치마킹에 다음 명령을 사용할 수도 있습니다.

읽기 속도 벤치 마크 : $ sudo dd if = / dev / sdX1 of = / dev / zero bs = 1M count = 400 iflag = direct

쓰기 속도 벤치 마크 : $ sudo dd if = / dev / zero of = / dev / sdX1 bs = 1M count = 400 skip = 1000 oflag = direct

쓰기 및 읽기 벤치 마크 테스트를 각각 수행 할 때는 항상 oflag = direct 및 iflag = direct를 사용하십시오. 그렇지 않으면 실제로 파일 캐시 쓰기 및 읽기 타이밍 인 결과를 얻을 위험이 있습니다.


0

OSX 10.11.5를 실행하는 2015 MBP에서 dd를 사용하는 동안 다음과 같은 쓰기 속도를 받았습니다.

/ dev / disk에 쓸 때 : 1.80 MB / s / dev / rdisk에 쓸 때 : 12.80 MB / s

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.