# 메모리 사용량이 갑자기 치솟은 후 내려가지 않음

**URL:** https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115
**Category:** Self-hosting
**Tags:** server-resources
**Created:** [5월 20, 2021, 7:01오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115 "2021-05-20T19:01:38Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![jmakin](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jmakin](https://meta.discourse.org/u/jmakin)
#### Post date: [5월 20, 2021, 7:01오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/1 "2021-05-20T19:01:38Z")

</div>

일주일 조금 전, 메모리의 DO 그래프를 확인했는데 꽤 놀랐습니다:

 ![Screen Shot 2021-05-20 at 7.13.59 AM](https://global.discourse-cdn.com/meta/original/3X/b/5/b5ddc80e9f8f951bd543d34540da36d2fc90526d.png)

지난 1년 이상 안정적으로 유지되어 왔습니다. 컨테이너를 중지/재시작했을 때 사용량은 다시 내려갔지만, 지난 몇 시간 동안 이전 수준으로 다시 올라갔습니다.

이것은 무엇 때문에 발생하는 것일까요? top/ps를 확인해 보니 주요 원인이 postgres 프로세스라고 합니다. free 명령어의 출력 정보는 다음과 같습니다:

```plaintext
$ free -mh
              total used free shared buff/cache available
Mem: 7.8Gi 2.5Gi 142Mi 2.3Gi 5.1Gi 2.6Gi

```

DO 콘솔을 통해 드롭렛에 접근조차 할 수 없습니다. OOM으로 인해 크래시가 발생하기 때문입니다. 다행히도 ssh 키를 설치해 두었기 때문에 개인 노트북을 통해 접근할 수 있어, 현재로서는 드롭렛에 접근할 수 있는 상태입니다.

어떤 조치를 취해야 할까요? 예산이 빠듯해서 드롭렛 리사이즈는 최후의 수단으로 생각하고 있으며, 다른 방법이 있는지 궁금합니다. 갑자기 이런 일이 생긴 것 같습니다. 현재 2.7.0.beta5 버전을 실행 중입니다.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [5월 21, 2021, 4:33오전 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/2 "2021-05-21T04:33:30Z")

</div>

최근에 뭐가 바뀌었나요? 업그레이드를 했나요?

---

<div class="post-metadata">

### Author: ![Jonathan5](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonathan5/32/197134_2.png) [@Jonathan5](https://meta.discourse.org/u/Jonathan5)
#### Post date: [5월 21, 2021, 9:36오전 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/3 "2021-05-21T09:36:08Z")

</div>

지난 14일간의 그래프에서 유일한 급격한 상승은 5월 11일에 발생했으며, 78%에서 89%로 상승해 이전보다는 덜 극심했습니다. 그때 업그레이드를 진행했을까요?

---

<div class="post-metadata">

### Author: ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)
#### Post date: [5월 21, 2021, 10:22오전 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/4 "2021-05-21T10:22:18Z")

</div>

호스트 관련 문제인 것 같습니다. 제 경우 메모리 사용량이 감소했거든요. 10일에 [beta9로 버전이 업데이트](https://github.com/discourse/discourse/commit/02f0acc41bf1970dbacd2f26266858519cfbdad3)되었으니, 그 무렵에 재빌드(디스크 사용량에서 보듯 새 이미지를 다운로드함)를 했을 가능성이 높습니다. 호스트를 업그레이드했는지는 기억나지 않지만, 했을 수도 있겠네요.

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/b/bb9982b207c11360e8d76e3a3b0c733a31bd55ad.png)  
 ![image](https://global.discourse-cdn.com/meta/original/3X/5/3/532dc42a65a8fae77feff40808277f09ec04fa7a.png)

스왑이 없나요?

---

<div class="post-metadata">

### Author: ![jmakin](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jmakin](https://meta.discourse.org/u/jmakin)
#### Post date: [5월 21, 2021, 2:17오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/5 "2021-05-21T14:17:08Z")

</div>

> [@codinghorror](#):
>
> 최근에 변경된 사항이 있나요? 업그레이드를 했나요?

아니요, 저는 이미 2.7beta5 버전을 꽤 오래 사용해 왔습니다. 최근에는 아무것도 변경하지 않았습니다.

최신 버전으로 업데이트하지 않은 이유는, 이전에 진행한 업그레이드 이후 프론트엔드 담당자가 스타일링 관련 깨지는 변경사항(breaking changes) 때문에 우려를 표했기 때문입니다(저는 시스템 관리자일 뿐, 이 분야의 전문 지식이 없습니다). 이 문제들은 이미 Discourse에서 수정되었을 것으로 생각하지만, 다음 마이너 버전이 나올 때까지 기다리다 보니 아직 업데이트하지 못했습니다.

---

<div class="post-metadata">

### Author: ![jmakin](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jmakin](https://meta.discourse.org/u/jmakin)
#### Post date: [5월 21, 2021, 2:19오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/6 "2021-05-21T14:19:49Z")

</div>

호스트에서 이런 문제가 발생하는 원인은 무엇일까요?

Droplet의 크기를 늘리면 요금이 두 배가 되므로, 정말로 그렇게 하고 싶지 않습니다. 하지만 가장 쉬운 해결책일 수 있겠죠.

Swap은 설치 시 기본으로 설정된 값 그대로인 것 같고, 정확한 값은 잘 모르겠습니다.

---

<div class="post-metadata">

### Author: ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)
#### Post date: [5월 21, 2021, 3:20오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/7 "2021-05-21T15:20:44Z")

</div>

🤔 그리고 `/sidekiq`는 무엇을 말하나요?

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [5월 21, 2021, 3:22오후 UTC](https://meta.discourse.org/t/sudden-burst-of-memory-usage-that-wont-go-down/191115/8 "2021-05-21T15:22:06Z")

</div>

swap를 추가하면 OOM을 방지할 수 있습니다. OOM은 원치 않는 것이며, 과도한 페이지잉 활동도 원치 않습니다. 그렇지 않으면 메모리 사용량 증가가 중요할 수도 있고 중요하지 않을 수도 있습니다. (흥미로운 요소일 수는 있지만, 그것은 별개의 문제입니다.)

페이지잉 활동이 어떤지 확인하려면 `vmstat 5 5` 또는 유사한 명령을 실행하는 것을 권장합니다.

또한, `free -h`가 `free -mh`보다 더 유용합니다. 왜냐하면 swap이 얼마나 남아 있는지가 중요하기 때문입니다.
