대용량 파일을 USB로 복사 할 때 시스템이 정지 / 응답하지 않거나 사용할 수 없음


49

어제 RAM이 3GB 인 동안 쓰기 속도가 7MB / s 인 느린 8GB 파일을 USB로 복사했습니다. 시스템을 복사하는 동안 커서를 움직일 수없는 지점까지 멈췄습니다.

텍스트 콘솔에 로그인하고을 실행했는데 iotop이름 kswapd0이 지정된 프로세스 가 IO의 99.99 %를 차지하고 있음을 보여주었습니다 .

큰 파일을 복사해도 시스템을 사용할 수 없게 만드는 해결 방법이 있습니까?


11
이 버그는 너무 우스운 ...
king_julien

답변:


32

이 버그 보고서 에 따르면 다음 줄을 추가하여 해결했습니다.

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

/etc/sysctl.conf에

그리고 달리기

sudo sysctl -p

12
위의 내용이 무엇인지 설명해 주시겠습니까?
nsane

3
@ nisargshah95 미안하지만, 실마리가 ;-) 자신을 검색 해달라고
필립 Gachoud

4
@ 문제의 nisargshah95 세부 사항은에 연결된 두 개의 LWN 기사에 설명되어 있습니다 unix.stackexchange.com/a/107722/52205
Rmano

1
고맙습니다. 우분투 16.04 가이 두 줄없이 USB에 두 개의 1.4GB 파일을 쓸 수 없다는 것을 알았습니다. 몇 시간 동안 얼어 붙었습니다.이 문제가 해결되었습니다. 누가 파일을 복사하고 이동하려는 경우가 있습니다. 의 위에.
Mike

1
I는도 5 및 60의 값이 상기 제어했다 퍼센트 동안 작업에 사용되는 메모리를 dirty_background_bytes하고 dirty_bytes사용 절대 바이트 값. 두 번째 답변 으로이 문제를 해결했지만 지속적으로 추가 sysctl.conf하려면 이 답변을 참조하십시오 . 따라서 백분율 값을 사용할 때 메모리를 업그레이드 할 때 값을 조정하십시오.
PeterM

19

비슷한 문제가 발생했습니다. 광산은 64 비트 우분투 14.04입니다. 그래서 오랜 투쟁 끝에 내 문제를 해결 하는 답 을 찾았 습니다 . 쉽게 사용하기 위해 위에서 언급 한 답변에 사용 된 아래 명령을 추가했습니다 . 자세한 설명은 답변을 확인하십시오.

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

위의 명령을 사용한 후 파일 복사에서 정상적으로 작동하기 시작했습니다.

감사합니다 @Rmano 갑니다 .


2
NAS 공유 속도가 느린 12.04 시스템에서는 비율 설정이 도움이되지 않았습니다. 그러나 여기에 제안 된대로 바이트를 직접 설정하면 NAS에 복사하는 동안 시스템을 다시 사용할 수 있습니다.
mivk

6
이 질문은 3 살이며 pendrive에 복사하는 동안 사용할 수없는 시스템을 사용하지 않으려면 여전히 필요합니다. 일부 정보 : pendrive가 ext4와 같은 Linux fs를 사용하여 포맷 된 경우에는 발생하지 않습니다. "사용할 수없는 시스템"이라고 말했을 때 실제로는 마우스 포인터가 응답하지 않고 마우스 포인터를 화면 주위로 움직여야한다고 주장해야합니다. 시스템 모니터를보고 비정상적인 리소스 사용이 없습니다. 커널 사람들은 모두 6 세대 인텔 CPU와 SSD 드라이브를 사용하고 있습니까? 그들은 테스트하는 동안 어떻게 이것을 알지 못합니까?
Hatoru Hansou

3
@HatoruHansou 같은 느낌이 들었습니다. 새로운 데비안 스트레치를 설치 했는데이 오류도 여기에 있습니다. 나는 그것이 배포판에 의존하지 않지만 커널 소스에 달려 있다는 것을 알고 있지만, 남자, 이것이 어떻게 해결되지 않습니까?
Marecky

1
@Marecky 약간의 독서 후에 dirty_bytes는 USB가 아닌 것 같습니다. 그것들은 모든 I / O에 영향을 미치므로 에코 작업을 한 후에는 시스템을 전체적으로 변경하고 펜 드라이브에만 적용하지 마십시오. 현재 세션에만 해당됩니다. 커널의 현재 값은 최신 스토리지 장치에서 생각을 조정 한 것으로 보입니다. 느린 pendrives는 부작용으로 고통받습니다. 죄송합니다. 링크는 없지만 인터넷 검색을 통해 쉽게 찾을 수 있습니다.
Hatoru Hansou

3
참조 이 대답은 그것을 만들기 위해 지속적인
peterm는

4

플래시 드라이브에 복사 할 때 시스템 정지와 비슷한 문제가 발생합니다. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648 에 대한 버그 보고서가보고되었습니다.

해결 방법으로, 스왑을 비활성화하면이 문제가 완전히 해결됩니다.


1
불행히도 이것은 우분투 16.04에서 작동하지 않았습니다.
Programster

Ubuntu 16.04.3 LTS에서 나에게도 효과가 없었습니다. 이것은 Alienware 17 R2 랩톱에서 가능합니다.
AnthonyK

4

예, 실제로 디스크에 기록되기 전에 기록 된 데이터의 양을 지정하여 조정할 수있는 커널 설정이 있습니다. 이에 대한 포괄적 인 설명은 여기참조하십시오 . 특히, dirty_ratio 값을 찾고 싶을 것입니다 (일반적으로 데스크탑 / 노트북에는 너무 높지만 모든 사람에게 맞는 마법의 숫자는 없습니다).


2
내 노트북 ​​사양에 따라 어떤 숫자를 설정해야하는지 제안 해 주시겠습니까? askubuntu.com/questions/713723/…

1

파일을 exfat드라이브에 복사 할 때 비슷한 문제가 발생했습니다 . ext4USB 하드 드라이브 에서 파일 시스템을 사용하는 데 어려움이 줄었 습니다.


1
ext4
에서도이

Fedora 27 (커널 4.17.5-100) USB 연결 스피닝 녹에서 USB 연결 플래시 스틱으로 복사. 이것은 페이드 중간에 화면 잠금 장치를 정지시키는 것 같습니다. :-( ~~~
David Tonhofer

1

USB 디스크에서 SATA 디스크로 많은 수의 파일을 복사하는 동안 우분투 19.10에서 정확히 같은 문제 (2019 년)를 보았습니다. 두 파일 시스템 모두 ext4입니다. 스왑을 끄면 문제가 사라졌습니다. 디스크 버퍼에 대한 메모리 할당에 약간의 버그가있는 것 같습니다. 분명히 커널은 디스크 버퍼에 가능한 많은 메모리를 할당하려고 시도합니다. 캐싱에 사용할 수있는 것보다 메모리 크기를 잘못 계산합니다 ...

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