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 告诉我当前的内存压力是多少 - 还剩多少交换空间,有多少空闲内存和缓冲区内存,以及最关键的是是否有任何交换入(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