MacBook Pro에서 SD 카드 쓰기 속도를 높이려면 (/ dev / disk * 사용) 어떻게해야합니까?


17

그들은 (사용하여 수백 메가 바이트 전송하는 데 한 시간 이상 걸릴 있지만 나는 나의 맥북에서 SD 카드에 일부 리눅스 배포판을 설치했습니다 dd/dev/disk1).

dd 출력

위의 출력을 보면 대략 0.31MB / s로 작동합니다! SD 카드는 Class 10이며 MacBook Pro는 2.66GHz Intel Core 2 Duo, 4GB 1067MHz DDR3 및 OS X Lion 10.7.4입니다. 카드 리더기에 대한 하드웨어 보고서는 다음과 같습니다.

SD 카드 리더 내장 :

공급 업체 ID : 0x05ac
제품 ID : 0x8403
개정 : 1.00 일련 번호 : 9833

SDHC 카드 :

용량 : 7.97GB (7,969,177,600 바이트)
이동식 매체 : 예 BSD 이름 : disk1
파티션 맵 유형 : MBR (마스터 부트 레코드)
SMART 상태 : 지원되지 않는
볼륨 :

PI :
용량 : 7.96GB (7,964,983,296 바이트)
파일 시스템 : MS-DOS
BSD 이름 : disk1s1
내용 : DOS_FAT_32

전송 /dev/disk1속도가 너무 느린 이유 와 속도를 어떻게 높일 수 있습니까?


나에게 하드웨어 문제처럼 들린다. 2011 년 MBP는 ​​SD 리더가 좋지 않다고 들었지만 이전 버전에서도 문제가 될 수 있습니다. 다른 SD 카드를 사용해보십시오. 그러나 불행히도 대부분의 MBP에서 로직 보드에 부착 된 카드 리더에 문제가있을 수 있습니다.
robmathers

나는 2009 년에 랩탑을 샀고, Fedora는 2 시간 동안 복사를 해왔고 포기했습니다. 새로운 카드 리더 시간.
StuR

흥미롭게도 @pci
iolsmit

답변:


38

동일한 문제가 발생하여 /dev/disk*버퍼링되어 있기 때문에 속도가 느린 것 같습니다 . 해당 rdisk 장치 (예 :)를 사용 /dev/rdisk1s1하면 예상 속도를 얻을 수 있습니다. 이것은 분명히 BSD 일입니다.

예:

% sudo dd if=pi.bin of=/dev/disk1 bs=1m count=4095
^C408+0 records in
407+0 records out
426770432 bytes transferred in 1393.452305 secs (306268 bytes/sec)

% sudo dd if=pi.bin of=/dev/rdisk1 bs=1m count=4095
4095+0 records in
4095+0 records out
4293918720 bytes transferred in 378.669512 secs (11339489 bytes/sec)

참조 :


1
이것이 결과를 확인할 수 있었기 때문에이 질문에서 찾은 최고의 답변입니다. ~
1.35MB

1
당연히 부끄러운 일입니다 (Apple / BSD의 경우). 그러나 dd를 사용하면 하나의 긴 쓰기 (또는 읽기) 액세스 권한이 있으므로 최상의 성능을 얻을 수 있습니다. SD 카드에 따라 파일 수준과 임의 액세스 권한에 따라 성능이 크게 달라질 수 있습니다.
iolsmit 12

2
긴 이야기이지만, 제 담배를 제 시간에 고칠 수 없다면 90 달러 상당의 연어를 구할 수있었습니다.
deweydb

3
수천 킬로미터 이상에서 20 + Mbps로 파일을 다운로드하는 방법과 마지막 몇 미터는 무선 인 방법은 어리석은 일입니다. 그러나 하드 연결을 통해 데이터를 몇 센티미터 전송하는 것이 훨씬 느립니다.
조나단.

감사. 허용되지 않는다고 결정 하고이 답변을 찾았을 때 ~ 10 시간 동안 7GB의 데이터를 복사하는 것을 보았습니다. 매우 유용합니다.
Barak

3

SD 카드가 너무 느릴 수도 있습니다.

에서 봐 이 벤치 마크 (랜덤 쓰기, 4킬로바이트 (QD = 1)의 MB /]) 당신은 작은 파일에 대한 대부분의 SD-카드 (100 킬로바이트 이하 / S) 형편 쓰기 성능을 볼 것이다 - 그리고 일반적인 리눅스 설치는 디스크에 쓰여진 작은 파일들로 구성되어 있습니다.

내부 카드 리더기는 최소 20MB / s의 읽기 / 쓰기가 가능해야합니다. 다른 카드 리더기가이 SD 카드 사용 경험을 향상시킬 가능성은 거의 없습니다.

모든 파일이 작성되면 (즉, 시스템이 설치되면) 대부분 읽기 액세스이므로 SD 카드에서 Linux를 적절한 속도로 실행할 수 있습니다.


1
다운 투표자에 대해서는 이 게시물을
iolsmit

좋은 것으로 알려진 다른 판독기에서 카드 를 테스트 하고 의심되는 판독기에서 좋은 것으로 알려진 카드 를 테스트 하는 것이 좋은 실험 입니다. 또한 파일 시스템 데이터 구조에서 새 파일을 작성하기위한 모든 "서류"(내용 작성과는 대조적으로)는 많은 작은 파일에 대해 매우 큰 것입니다.
Thorbjørn Ravn Andersen

SD 카드의 속도가 빠르지는 않지만 오늘날의 SD 카드에서는 속도 (328198 바이트 / 초 이상 288881 바이트 / 초)를 상상할 수 없습니다 (플로피 드라이브와 같은 느낌). 이것이 'dd'이므로 여러 개의 작은 파일이 아닌 단일 파일을 의미합니다.
Barak

1

카드가 sync 옵션으로 마운트 된 경우, 모든 파일 닫기로 인해 쓰기가 디스크로 플러시되므로 큰 파일과 비교할 때 작은 파일의 성능이 끔찍합니다. 마운트 옵션에서 동기화를 제거하면 파일을 쓰면 파일이 디스크로 나갈 수 있다는 보장이 없습니다. 명령 줄에서 sync를 수동으로 호출하거나 제거하거나 전원을 끄기 전에 장치를 마운트 해제해야합니다. 그러나 동기화가 없으면 작은 파일 쓰기 성능이 크게 향상됩니다.


1
에 따르면 man mountasync는 이미 기본값입니다.
nohillside

1

아니요, 이것은 분명히 Mac OS의 일부 문제입니다. 동일한 Macintosh에서 실행되는 가상 시스템에서 Linux를 사용하여 동일한 작업을 수행하면 성능이 훨씬 빨라집니다. 즉, VM은 기본 OS보다 약 5 배 빠릅니다.

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