USB 드라이브에 많은 파일을 복사할 때 데스크탑이 잠기는 이유는 무엇입니까?

USB 드라이브에 많은 파일을 복사할 때 데스크탑이 잠기는 이유는 무엇입니까?

내 데스크탑은 일반적으로 부하가 심한 경우에도 매우 반응이 좋습니다. 하지만 USB 드라이브에 파일을 복사하면 일정 시간이 지나면 항상 작동이 중단됩니다. "잠금"이란 다음을 의미합니다.

  • 한 창에서 다른 창으로 포커스를 이동하는 데 10~20초가 걸릴 수 있습니다.
  • 데스크톱을 전환하는 데 10~20초가 걸릴 수 있습니다.
  • 동영상이 더 이상 업데이트되지 않습니다. (YouTube에서는 오디오가 계속 재생되고 동영상만 정지됩니다.)

이 경우 시스템 로드가 예외적으로 높지는 않습니다. 때로는 커널이 어딘가에서 사용 중임을 나타내는 흰색이 xosview에 많이 표시됩니다.

언뜻 보면 파일을 USB 드라이브에 복사하면 compiz에 방해가 되는 것처럼 보이지만 연결이 무엇인지 상상할 수 없습니다.

출력은 다음과 같습니다 htop.

중단 직후 htop 출력

iostat -c -z -t -x -d 12분 동안 중단된 동안 의 출력은 다음과 같습니다 .

19.07.2012 20:38:22
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1,27    0,00    0,38   37,52    0,00   60,84

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdg               0,00     2,00    0,00  216,00     0,00 109248,00  1011,56   247,75  677,69    0,00  677,69   4,63 100,00

보시다시피 외장 하드 디스크만 활성화되어 있습니다. 전체 로그는 다음과 같습니다.http://pastebin.com/YNWTAkh4

중단은 20:38:01에 시작되어 20:40:19에 끝났습니다.

소프트웨어 정보:

  • 오픈수세 12.1
  • KDE4.7.x
  • 파일 시스템: 내부 하드 디스크의 reiserfs 및 btrfs, USB 드라이브의 btrfs

답변1

내 첫 번째 추측은 btrfs이 파일 시스템의 I/O 프로세스가 때때로 인계되기 때문이었습니다. 그러나 X가 잠기는 이유는 설명되지 않습니다.

인터럽트를 보면 다음과 같습니다.

# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       
  0:        179          0          0          0          0          0          0          0  IR-IO-APIC-edge      timer
  1:          6          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
  8:          1          0          0          0          0          0          0          0  IR-IO-APIC-edge      rtc0
  9:          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   acpi
 12:         10          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
 16:    3306384          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb1, nvidia, mei, eth1

글쎄요. USB 드라이버는 그래픽 카드와 동일한 IRQ를 사용하며 체인의 첫 번째입니다. 파일 시스템이 비용이 많이 드는 작업을 수행하기 때문에 작동이 중지되면 그래픽 카드는 물론 네트워크도 중단됩니다.

답변2

나는 비슷한 문제를 보았습니다.오픈수세12.1의 linux-3.1 커널에서는 투명한 거대한 페이지를 비활성화하는 것이 도움이 된다는 것을 발견했습니다.

echo never > /sys/kernel/mm/transparent_hugepage/enabled

근본적인 문제는 응용 프로그램이 4MB 이상을 할당하는 경우 커널이 거대한 페이지를 제공하려고 시도하므로 전체 연속 4MB RAM이 필요하다는 것입니다. 이제 주변에 느린 USB 장치에 기록해야 하는 더티 페이지가 많은 경우 메모리 할당을 계속하기 전에 해당 IO가 완료될 때까지 기다립니다.

답변3

언급한 대로 이는 아마도 커널 hugepages 설정과 관련이 있을 것입니다. 나는 이 문제를 안고 있는 사람을 여러 명 알고 있습니다. 웹에서 이에 대한 여러 문서를 찾을 수 있습니다. 예:

다음을 수행하여 설정 문제를 완전히 해결했습니다. YMMV에 주목하세요. 아래 수정 사항이 모두 필요한 것은 아니며 충분하지 않을 수도 있습니다. 솔직히 말해서 뭔가를 잊었을 수도 있습니다. 어쨌든 그것은 내 설정이고 작동합니다.

  • linux-ck 커널 사용
  • echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
  • echo never > /sys/kernel/mm/transparent_hugepage/defrag

답변4

케이블을 바꿔보세요. USB 포트/케이블에서 산화 물질을 제거합니다.

관련 정보