High memory use during assets precompilation

이 경우 vmstat 5의 출력을 공유해 주시겠어요? ps나 top을 보고 계신다면, 실제 사용 중인 메모리가 아닌 다른 것을 보고 계실 수 있습니다. 할당된 메모리는 사용되지 않는다면 그렇게 중요하지 않습니다.

예를 들어, ps 출력에서 VSZ와 RSS를 볼 수 있습니다. 저는 RSS에 관심을 둡니다.

# ps uax|egrep '[0-9].unicorn|VS[Z]'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ddiscou+  2192  0.0 13.4 558320 267540 ?       Sl   Jan10  33:21 unicorn master -E production -c config/unicorn.conf.rb
ddiscou+  2294  0.0 18.2 5126600 363432 ?      Sl   Jan10  90:59 unicorn worker[0] -E production -c config/unicorn.conf.rb
ddiscou+  2301  0.0 14.2 5149576 282892 ?      Sl   Jan10  38:40 unicorn worker[1] -E production -c config/unicorn.conf.rb

top에서는 같은 내용을 VIRT와 RES라는 이름으로 볼 수 있습니다.

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                          
 2284 ddiscou+  25   5 5246644 327496   5640 S  1.7 16.4 872:50.70 ruby                                                             
 2294 ddiscou+  20   0 5126600 364284  14436 S  0.7 18.3  91:00.13 ruby                                                             

vmstat은 현재 메모리 압력이 어떤지 알려줍니다 - 스왑에 얼마나 남았는지, 자유 메모리와 버퍼 메모리가 얼마나 되는지, 그리고 가장 중요한 것은 스왑 인(swap-in, si 열)이 일어나고 있는지 여부입니다.

root@ubuntu-2gb-nbg1-1:~# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 239616 127080 185428 464448    0    0    14    32    4    2  2  1 97  0  0
 0  0 239616 124584 185432 464500    0    0     0    13  138  318  2  2 96  0  0
 0  0 239616 126120 185436 464500    0    0     0    13  116  264  1  0 99  0  0
 0  0 239616 120376 185436 464504    0    0     0    46  125  322  3  2 95  0  0
 0  0 239616 123448 185436 464504    0    0     0    73  129  306  1  1 98  0  0