글

라벨이 make인 게시물 표시

우분투 스압 메모리 (줄이기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개나 노는데 ㅂㄷㅂㄷ (사비 털어서 메인 메모리 늘려? 하..)

vim 컴파일. makeprg, cope, vertical terminal

개요 임베디드 뿐만아니라 컴파일하고 개발할때 편리한 vim 기능 입니다. makeprg make 시 make를 하지 않고 실행할 프로그램을 지정해줍니다. make 후 이런저런 해야할일을 스크립트로 만들어서 쓰고 있는 제게 매우 편리한 기능입니다. 저는 ~/.vimrc에 아래와 같이 지정해주었습니다. set makeprg=./build.sh vim에서 :make 해보면 ./build.sh 가 호출되는 것을 확인할 수 있습니다. copen :help copen                                             :cope :copen w:quickfix_title :cope[n] [height]       Open a window to show the current list of errors. 현재(current) 에러를 open 하는거네요.  처음에 cope로 썼는데 이게 왜 cope 이게 컴파일 로그를 보는데 쓰이는지 몰랐습니다. :make 를 했으면 에러 로그를 봐야죠.  :cope vertical terminal :vertical 명령에 cmd를 terminal 을 넘겨주는겁니다. :vertical terminal make 위와 같이 해보면 좌측 창에 make 결과가 텍스트로 올라옵니다. 생각보다 편해서 자주 씁니다. 하지만 매번 vertical terminal 을 쓸수는 없죠. ~/.vim 에 다음과 같이 추가합니다. cnoreabbrev Vt vertical terminal :Vt 명령을 넣으면 자동으로 vertical terminal로 변하니 쓰기 편합니다. croreabbrev 는 약어(abbreviations)입니다. 자세한 설명은 아래와 같습니다. :ab[breviate] {...

이 블로그의 인기 게시물

구글 시트에 여러 행 한번에 추가하기

WSL2 Ubuntu 20.04 및 네트워크 설정

우분투 terminator 에서 파일 경로 클릭시 vscode 에서 열기