iDev

aws, ocp 무료 서버에서 Hang이 걸릴때 해결 방법

KraZYeom 2024. 3. 17. 17:53
반응형

Oracle Cloud에서 instance 1개를 장난감 서버로 잘 사용하고 있었다. 그러나 언제부터 하루에 주기적으로 hang이 1~2시간 걸리기 시작했다. 특정 사이트를 크롤링을 5초에 한 번 하고 분석해서 결과를 telegram에 알림을 주는 서버로 사용하고 있었다. 간단한 기능을 하는 서버가 python, node 서버로 구성되었고 4개 실행되고 있다.  행이 걸리면서 크롤링이 안되어서 점점 문제점이 생겼다. 

 

 

이게 원인 파악을 하려면 ssh 로 접속해서 봐야 하는데 뭔가 제대로 확인을 할 수 없으니, 더 답답했다. 그냥 단순하게 ocp 1 Core 1GB가 문제가 되나 싶었다. 

 

그래서 바보 처럼 aws free tier 1 Core 1GB로 또 옮겼으나 몇십 시간은 잘되다가 비슷하게 hang이 걸리기 시작했다. aws에서는 그나마 top명령어로 뭐가 돌아가는지 잠깐 확인할 수 있었고, kswapd0 이 뭔가 cpu와 ram을 먹고 있는 것을 확인하였다. 

 

kswapd0로 검색을 하니 memory가 특정이상으로 차면 swap을 해서 디스크로 내려주는 거라고 했다. oracle cloud 모니터링에서 주기적으로 cpu와 ram 사용량이 늘었고, disk write도 갑자기 많이 발생했으니 동일한 현상이 맞는 듯했다.

 

How To resolve High CPU occupation from kswapd0

 

echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf

 

하지만 스왑을 완전히 끄는 게 아니라 물리 메모리가 거의 다 찰 때까지 스왑을 사용 안 하도록 설정하는 거라고 한다. 나중에 더 큰 문제가 생길 수 있겠지만 아직까지는 문제가.... 발생하지 않았다.

 

1 Core, 1GB 서버는 정말 단순하게 사용해야 하나 보다. 일단 다음 문제가 생길 때 까지 버텨보자.

 

ps. 1년 이상 linux 등 명령어를 다루지 않다 보니 정말 많은 것을 잊어버리고 있다......

반응형