vsCode로 aws ec2에 ssh 연결을 하는 경우
vsCode에서 사용하는 익스텐션까지 프로세스에 같이 올라간다.
htop로 프로세스 메모리를 확인 해보면
대충 100~200 mb의 메모리를 잡아먹는 것을 확인했다.
어떻게 최적화를 해야할까?
aws free tier을 사용하는 유저라면
ec2는 memory 1Gib를 제공해주는 것을 알것이다.
서버 메모리 + ssh가 사용하는 메모리도 빡빡한데 빌드라도 하는 날 에는
js heap memory oom
를 심심치 않게 볼수 있다.
이 때 그나마 메모리 문제를 해결해주는 방법들이 있다.
aws에서 공식적으로 제안하는 방법으로
2Gib 메모리 아래를 사용하는 인스턴스에서는 2배의 스왑 메모리를 사용하는 것을 권장한다.
예를들어 free tier ec2 에서 1Gib를 사용하면 2Gib를 스왑메모리로 잡으면 된다.
local에서 사용하는 익스텐션 뿐만 아니라
해당 ssh에서만 사용되는 익스텐션들이 있는데 삭제해가며 메모리 많이 먹는 것을 줄이면 된다.
vsCode에서는 volume explore를 제공해줘서 그런지 100~200 사이의 메모리를 잡아 먹는다.
터미널로 접근해서 vim을 사용하던가 하자.
vsCode에는 내장 타입스크립트 컴파일러가 존재하는데
코드량이 많아 지면 파일 수정하고 저장할 때 마다 버벅이는 것을 확인 할수 있다.
이 때 엄청 cpu를 많이 잡아먹는데
굳이 적은 메모리에서 ts를 사용해야겠다 싶으면 해당 익스테션을 찾아 정지하거나 삭제하기를 바란다.
위와 같은 방법으로 메모리 최적화를 해준다고 하더라도 팍팍한건 비슷하겠지만
조금이라도 더 나은 환경이 되기를 바란다.
애초에 golang 같이 메모리 적게 먹는 것을 사용하는 것도 방법이다.