Rebake 失败:如何诊断和修复?

在重建期间的内存使用量远大于正常操作期间。看起来重新烘焙(rebaking)也会产生很大的需求。如果是这样,任何类型的定期监控都不会增加太多价值:监控需要在那些高峰期进行,而幸运的是,这些高峰期恰好发生在管理员执行某些特定操作时。

当我运行在较小、更边缘的机器配置上时,我会打开第二个终端窗口,通过 ssh 连接到我的服务器并运行
vmstat 5
它会记录内存使用量的起伏情况。观察 swpd 列并与您配置的交换空间进行比较。通常故障会突然发生,而不是逐渐发生,所以即使查看短期趋势也帮助不大。

如果您有足够的磁盘空间,拥有大量的交换空间是完全没有坏处的——可以是 RAM 的一半,甚至是与 RAM 一样多。它在这里是为了应对高峰。您不希望在正常使用期间看到交换/分页活动。同样,您可以使用 vmstat 5 5 来获取分页活动的短期快照(在 siso 列中)。

这是一个例子:

# 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
 3  0 1392140  61200  11632  76432    41    32   117    93    0     1  2  1 97  0  0
 1  1 1467220  63416    324  67284  8786 20499 13178 20567 2539  8924 77 13  0 10  0
 0  2 1593340  57916   1096  53832 24262 46868 29986 46889 5377 18534 44 22  0 34  0
 4  0 1155632 120680   2772  86280 39111 35424 54768 37824 6987 25174 38 27  0 35  0
 3  0 1102988  74096   2852  85276 11261   246 12610   271 1879  6365 86  6  0  8  0

您可以看到 swpd 列的峰值超过了 1.5G,而我配置的是 2.0G。您可以看到交换出(so)活动在同一 5 秒窗口内达到峰值,而交换入(si)活动在下一个窗口达到峰值。

(编辑:我可以看到我配置了 2.0G 交换空间,因为我之前运行了 free

# free
              total        used        free      shared  buff/cache   available
Mem:        1009140      696504       78544       51784      234092      118436
Swap:       2097144      154628     1942516

我们还看到当时我设法只用 1G RAM 运行 discourse。)

1 个赞