리눅스맨

oom killer mysqld, 리눅스 메모리부족

OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러

서버가 많다보니 자주 이곳저곳에서 서버가 재실행 됩니다.

그중에 자주 보이는 에러문이 있어서 확인해보니 OOM Killer 에 의해서 mysqld 서비스가 재실행 되는 문제였습니다.

oom killer mysqld, 리눅스 메모리부족
OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러 10

일단 메모리가 부족하여 Out of Memory 라는 문구가 떠 있네요.

1,621,004KB 이정도 메모리면…

1.6GB 인데….뭔가 잘 못 세팅이 된듯 합니다.

다른 서버도 확인해보니..

지금 리눅스 맨이 동작하고 있는 서버 입니다.

oom killer mysqld, 리눅스 메모리부족
OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러 11

이 서버에서도 메모리 부족으로 인해서 mysqld 서비스를 재실행 한 흔적이 보이네요.

total-vm: 2,698,096kB

2.7GB 인데… 이정도면 충분히 여유있는 메모리임에도 불구하고 재실행이 되었습니다.

요즘 갑자기 서버가 자주 다운되고 멈추는 현상이 발생되고 있는데… 아직 해결이 안된 부분이라 OOM 킬러 부분과 연결지어서 로그를 분석하고 있습니다.

oom killer mysqld, 리눅스 메모리부족
OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러 12

그런데 이상하게도 이렇게 간혈적으로 끊기는 서버가 있는 반면…

또 어떤 서버는 전혀 끊김없이 잘 동작하고 있습니다.

oom killer mysqld, 리눅스 메모리부족
OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러 13

이 두개 서버의 차이점은…

메모리 전체용량 차이랑 CPU 갯수 차이인데…

SSD 용량도 조금 나긴하지만 일단 여유는 모두 있는 상태입니다.

그렇다면…CPU 성능 차이밖에 없는데…

일단 CPU를 업그레이드 해보겠습니다.

현재 듀얼 CPU를 사용하고 있는데 쿼드정도 올려놓고 지켜봐야겠네요.

CPU를 모두 v4CPU로 업그레이드 하였고 Respond Page를 46,534byte 에서 1byte로 줄였습니다.

0바이트로 만들수도 있지만 그렇게 되면 실제 페이지를 다운받았는지 여부를 알기 어려워서 그냥 숫자 1 넣었습니다.

oom killer mysqld, 리눅스 메모리부족
OOM Killer mysqld 계속 재실행 문제 리눅스 메모리 부족 네임서버 Bind 에러 14

그리고 DNS 서버의 메모리를 2배로 늘렸습니다.

서버 자체 하드웨어를 업그레이드 하고나서 조금 현상이 줄어들었습니다.

그리고 AWS EC2 인스턴스에서 동작하고 있는 DNS서버의 메모리를 2배 늘린 후로 다운되었다는 메시지는 나타나지 않고 있습니다. 오히려 그동안 다운되고 있던 사이트들이 다시 동작한다고 안내문이 날라오고 있네요.

한가지 의심되는 부분도 있긴하지만… 누군가가 API 서버에 초단위로 핑 치듯 계속 URL을 날리고 있는데….

딱히 빠른 속도도 아니고해서 그냥 무시하고 있습니다.

일단 이렇게 지켜보고 문제가 없길 바라고 있습니다.

이 글 뒤에 따로 업데이트 내용이 없으면 위의 3가지 방법으로 해결이 된 것입니다.

가장 큰 역할은 아무래도 DNS 서버의 메모리 증설이 아닐까 싶네요.

사실 전체 메모리 대비 사용량이 80%가 조금 넘었거든요.

역시 OOM 킬러가 강제로 DNS를 죽인게 아닐까 싶긴하지만 로그가 없으니 알길이 없습니다.

Bind 서비스가 왠지 문제였지 않을까싶네요..

한동안 아무 이상이 없길 바랄뿐입니다.

사이트 제작도 해야하는데 지금 서버쪽 급한 불부터 끄기바빠 진행도 딜레이 되고 있네요.

밤새서라도 마감일 안에 다 되도록 해야합니다.

끝!


게시됨

카테고리

,

작성자

태그: