우분투 스압 메모리 (줄이기x 늘리기o)
개요 회사 컴퓨터 코어가 20개입니다. ( 다다익코어 ) 하지만 make -j`nproc` 으로 core를 다쓰면서 컴파일 하면 메모리 사용량이 죽죽 올라가서 결국 스압메모리까지 쓰는 경우가 발생합니다. 위 그림의 아래 그래프를 보면 초록색 스압이 거의 꽉 차 있는 것을 볼 수 있습니다. 메모리가 16GB 임에도 말이죠. ( 다다익메모리 ) 컴파일 자체가 메모리 쓰기가 빈번하다보니 스압에 쓰기 시작하면 시스템 전체가 버벅거리며 거의 못쓸 상황까지 갑니다. 하... 늘려서 해결 # swap 비활성 $ sudo swapoff -v /swapfile # swap 을 16GB 로 조정 $ sudo fallocate -l 16G /swapfile #권한 설정 $ sudo chmod 600 /swapfile #swap file 만들기 $ sudo mkswap /swapfile #swap file 활성화 : 리부티하지 않아도 swap file이 활성화 된다. $ sudo swapon /swapfile 미친척하고 스왑을 16GB로 늘려봤습니다. SSD가 1TB 짜리거든요. 이왕 늘렸으니 컴파일러 -j 옵션도 nproc 다 줘버렸습니다. make -j`nproc` 오? 차라리 이게 낫네요! 아래 없애서 해결은 안하기로 했습니다! 출처 : [Tips] Ubuntu 20.04 에서 swap file 늘리기 없애서 해결 스압 비우기 일단 스압을 비워야죠. sudo swapoff -a && sudo swapon -a 뚝 떨어진 것을 볼 수 있습니다. swapoff로 비우고, swapon으로 swap 기능 다시 살리구요. 뭐 별거 없죠. 컴파일시 nproc 개수 조정 컴파일할때 -j 옵션의 숫자가 너무 커서 생긴 일이니, swap 이 안생길 정도로 조정해주면 되겠죠. 저는 nproc - 7 로 하니까 스압 메모리가 잡히는 일이 없어지네요. 그럼 코어가 7개나 노는데 ㅂㄷㅂㄷ (사비 털어서 메인 메모리 늘려? 하..)