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


11

내 데스크탑은 일반적으로로드가 많은 경우에도 매우 반응이 빠릅니다. 그러나 파일을 USB 드라이브에 복사하면 일정 시간이 지나면 항상 잠 깁니다. "잠금"은 다음을 의미합니다.

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

이런 일이 발생했을 때 시스템로드는 예외적으로 높지 않습니다. 때로는 xosview에서 커널이 어느 곳에서 바쁘다는 것을 나타내는 많은 흰색이 보입니다.

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

출력은 다음과 같습니다 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
  • KDE 4.7.x
  • 파일 시스템 : 내부 하드 디스크의 reiserfs 및 btrfs, USB 드라이브의 btrfs

1
sync이것이 어떤 영향을 미치는지 확인하기 위해 USB 드라이브 를 마운트하려고 했습니까 ?
Alexios

2
USB의 단점은 IO를 위해 CPU에 크게 의존한다는 사실입니다. 시스템에 어떤 종류의 CPU가 있습니까? grep name /proc/cpuinfo질문에 대한 결과를 첨부 하십시오.
jippie

1
돌고래를 사용하여 파일을 드래그 앤 드롭합니까? 그렇다면 cp명령 줄에서 돌고래 버그를 제외하십시오.
Jari Laamanen

@JariLaamanen : rsync명령 줄에서 사용 하고 있습니다.
Aaron Digulla

1
@jippie : UI가 발생할 때 UI가 잠기지 않기 때문에 스크린 샷을 만들 수 없습니다. 다음과 같이 로그를 만들려고합니다.iostat -c -z -d 1
Aaron Digulla

답변:


4

필자의 첫 번째 추측은 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

openSUSE 12.1의 linux-3.1 커널에서 비슷한 문제를 보았고 투명한 거대한 페이지를 비활성화하면 도움이되는 것으로 나타났습니다.

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

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


1

언급했듯이 이것은 아마도 커널 hugepages 설정과 관련이 있습니다. 나는이 문제를 가진 여러 사람들을 알고 있습니다. 웹에서 이에 대한 몇 가지 문서를 찾을 수 있습니다.

다음을 수행하여 설정 문제를 완전히 해결했습니다. YMMV에 주목하십시오. 아래의 모든 수정 사항이 필요한 것은 아니며 충분하지 않을 수도 있습니다. 나는 정직한 것을 잊었을 수 있습니다. 어쨌든 그것은 내 설정이며 작동합니다.

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

-2

케이블을 교체하십시오. USB 포트 / 케이블에서 산화를 제거하십시오.


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