들어가며
오늘 CryoSPARC로 Non-uniform Refinement를 수행하던 중 작업이 예기치 않게 종료되었다. 검색해 보니 메모리 부족으로 시스템이 프로세스를 강제 종료했을 가능성이 있다는 것을 알 수 있었다.
메모리를 늘리는 방법은 두 가지다. 하나는 돈을 내는 것이고, 다른 하나는 스왑 메모리를 늘리는 것이다.
워크플로우의 대부분의 작업은 메모리 요구량이 높지 않고, 작업 로그를 보면 문제를 해결하는 데 필요한 메모리는 많지 않았기 때문에, 먼저 스왑 메모리를 늘려 보기로 했다.
상세 절차
아래 내용은 모두 ChatGPT4가 알려준 방법이다. 가독성을 위해 약간 수정했으며, 실제로 동작이 확인되었다.
- 기존 스왑 파일을 비활성화한 뒤, 터미널을 열고 다음 명령어를 실행한다:
sudo swapoff -a
dd또는fallocate명령으로 이 작업을 할 수 있다.fallocate가dd보다 빠르지만, 모든 파일 시스템이 이를 지원하는 것은 아니다.fallocate를 사용해 스왑 파일 크기를 8GB로 조정하는 예시:BASHsudo fallocate -l 8G /swapfile시스템이
fallocate를 지원하지 않는다면dd명령을 사용하면 된다:BASHsudo dd if=/dev/zero of=/swapfile bs=1G count=8 # `bs=1G` indicates that each time a 1GB is written,`count=8` indicates that 8GB total written。
스왑 파일의 권한을 root만 읽고 쓸 수 있도록 설정한다:
sudo chmod 600 /swapfile
- 파일을 스왑 파일로 설정한다:
sudo mkswap /swapfile
- 새 스왑 파일을 활성화한다:
sudo swapon /swapfile
- 스왑 설정을 영구적으로 유지한다
시스템을 재부팅한 후에도 스왑 설정이 유지되도록 하려면 /etc/fstab 파일에 해당 설정을 추가해야 한다. /etc/fstab 파일을 열고 다음 줄을 추가한다:
/swapfile swap swap defaults 0 0
이렇게 하면 시스템이 부팅될 때마다 스왑 파일이 자동으로 활성화된다.
이미 /etc/fstab 파일에 /swapfile 설정이 있는 것 같으므로, 마지막 단계는 선택적으로 건너뛰어도 된다.
마무리
스왑 메모리를 2G에서 8G로 늘린 후 작업은 성공적으로 완료되었다. 800CNY를 아꼈다. 좋은 하루였다.