![리눅스 스왑이 왜 그렇게 느린가요?](https://rvso.com/image/1567515/%EB%A6%AC%EB%88%85%EC%8A%A4%20%EC%8A%A4%EC%99%91%EC%9D%B4%20%EC%99%9C%20%EA%B7%B8%EB%A0%87%EA%B2%8C%20%EB%8A%90%EB%A6%B0%EA%B0%80%EC%9A%94%3F.png)
저는 소프트웨어 개발자이므로 가끔 실수로 프로그램 중 하나에 사용 가능한 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