디스크 I / O가 가득 차면 시스템이 잠김


8

외장 USB3 하드 드라이브에서 내장 하드 드라이브로 (또는 그 반대로) 대용량 파일 전송을 수행하면 노틸러스 또는 터미널을 통해 Ubuntu (Unity)가 거의 완전히 잠 깁니다. 파일 전송이 실행되는 동안 alt-tab과 같은 작업을 완료하는 데 20 초 이상이 걸립니다. 패키지를 설치할 때와 같이 디스크에 대한 임의의 읽기 / 쓰기가 많은 경우에는 그렇지 않습니다.

Windows를 실행할 때 백그라운드에서 파일 전송을 실행하고 디스크에 액세스해야 할 때 속도가 느리더라도 여전히 작업을 수행 할 수있었습니다. 난 여전히 괜찮아요.

우분투는 다른 모든 디스크 I / O보다 파일 전송을 우선시하는 것처럼 보이므로 잠금 상태입니다. Windows에서는 파일 전송의 우선 순위가 낮은 것으로 보이므로 디스크가 가득 찬 상태에서 시스템이 응답 상태를 유지할 수 있습니다.

이 문제를 어떻게 해결할 수 있습니까? 파일을 복사 할 때 컴퓨터를 완전히 사용할 수 없게되어 다소 성가신 일입니다. 이 문제는 14.04 및 15.10 모두에서 발생합니다. 이 문제를 방지하기 위해 하드 드라이브를 USB2 포트에 연결해야하므로 전송 시간이 훨씬 길어집니다.


하지 말아야하지만 unix.stackexchange.com/questions/107703/…이 도움이 되는지 확인하십시오
Rmano

답변:


10

랩톱에서 동일한 문제가 발생했으며 나머지 컴퓨터와 비교할 때 디스크 시스템이 상당히 느립니다.

디스크 전송에 사용되는 예약 알고리즘을 변경하여 훨씬 더 나아질 수있었습니다. 기본적으로 Ubuntu는 Deadline을 사용하지만 cfq를 사용하면 시스템이 더 빨리 응답합니다.

사용중인 스케줄러를 보려면 명령을 실행하십시오.

cat /sys/class/block/sda/queue/scheduler    

재부팅 할 때까지 일회성 변경을 수행하려면 명령을 실행하십시오.

echo cfq | sudo tee /sys/class/block/sda/queue/scheduler

외장 하드 드라이브에 대한 변경 사항이 중요합니다. 광산은 일반적으로 sdb로로드됩니다. 그래서 나는 명령을 발행합니다echo cfq | sudo tee /sys/class/block/sdb/queue/scheduler

elevator=cfqgrub 파일에 다음과 같은 커널 매개 변수 를 추가하여 컴퓨터에 연결된 모든 드라이브에 대해 변경 사항을 영구적으로 만듭니다 .

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noautogroup elevator=cfq"

와우, 이것은 효과가 있었다. 감사! 내 시스템은 이제 전송하는 동안 반응이 더 빨라지고 실제로 전체를로드하는 데 더 빠릅니다.
Degru

도움이되었다 니 다행입니다.
Charles Green

1
> 우분투는 기본적으로 데드 라인을 사용하지만 데드 라인을 사용하면 시스템이 더 빨리 응답합니다. 이 문구가 '... cfc를 사용할 때'로 끝나기를 원한 것 같습니다.
markus_b

나는 이유 또는 다른 이유로 이것에 대한 해결책을 찾지 못했습니다. 나는 며칠 전에 게시되었을 때이 답변을 찬성했습니다. 이제 그것을 테스트 할 수있는 기회를 얻었습니다 ( 많은 급류를 Deluge에서 Transmission으로 다시 마이그레이션해야했기 때문에 모든 토렌트를 다시 확인해야 함). 스케줄러를 변경하는 것은 실제로 개선. 작업 공간을 전환 할 때 시스템은 여전히 ​​말더듬하지만, 이전과 같이 거의 완전히 매달려 있지는 않습니다. 감사! 이 답변은 매우 유용하여 IMO에 현상금이 필요합니다 (그리고 나는 그것을 설정하고 있습니다).
kos December

@kos 그것은 완전한 해결책이 아니거나, 확실히 나 자신이 훨씬 더 행복 할 것입니다. 나는 여전히 가끔 더듬고, 이것이 매우 실망 스럽다는 것을 알게됩니다.
Charles Green
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.