리눅스 스왑이 왜 그렇게 느린가요?

리눅스 스왑이 왜 그렇게 느린가요?

저는 소프트웨어 개발자이므로 가끔 실수로 프로그램 중 하나에 사용 가능한 RAM을 모두 사용하게 됩니다. OS는 현재 사용 중인 다른 모든 것(예: 웹 브라우저, 개발 IDE, 오디오 플레이어 등)을 유용하게 교체해 줍니다. 오작동하는 프로그램을 제거한 후 내 컴퓨터에서 실행 중인 다른 소프트웨어는 몇 분 동안 거의 사용할 수 없게 되며, 실제로 소프트웨어를 사용하지 않으면(그리고 클릭할 때마다 오랜 시간 동안 기다리지 않으면 자동으로 다시 교체되지 않습니다) . sudo swapoff -a모든 메모리 페이지를 다시 RAM에 강제로 넣을 수 있지만 시간이 놀라울 정도로 오래 걸립니다. 명령 을 사용하여 스왑 사용량을 모니터링할 수 있습니다 free. 스왑은 약 1-2MB/초의 속도로 비워집니다. free몇 초마다 실행하면 한 자릿수 차이만 나타나고 전체 프로세스는 몇 분이 걸릴 수 있습니다.

내 시스템은 꽤 새 시스템이고 스왑 파티션을 저장하는 HDD를 테스트했습니다 cpipe. 7GB 파일을 읽는 속도는 평균 150-160MB/초입니다. 스왑이 비슷한 속도로 램으로 다시 이동되지 않는 이유는 무엇입니까?

더 빠르게 할 수 있는 방법이 있나요?

$ uname -r
4.15.0-29-generic

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

관련 정보