実現したいこと

ビルドがどれくらいメモリを使っているかを確認したい場合、/usr/bin/time -lのような外部コマンドで計測する方法がある。--printMemoryUsageを使うと、Hugo自身がGoランタイムのメモリ統計をビルド後に表示してくれる。

参考: 【Hugo】-Mオプションでディスクへ書かずにビルドする

使い方

hugo--printMemoryUsageを付ける。

$ hugo --printMemoryUsage

動作確認

ビルド結果の末尾にメモリ統計が追加される。

$ hugo -M --printMemoryUsage 2>&1 | tail -6
Alloc = 536.1 MB
TotalAlloc = 1.5 GB
Sys = 567.0 MB
NumGC = 25

Allocはビルド終了時点でヒープが保持しているメモリ量、TotalAllocはビルド中に確保した総量の累計、SysはOSから確保した総メモリ量、NumGCはガベージコレクションの実行回数である。hugo serverでも同様に表示され、開発サーバー起動時のメモリ使用量を確認できる。

–quietを付けても表示される

--printUnusedTemplates--templateMetrics--quietを付けると出力が抑制されるが、--printMemoryUsage--quietを付けてもメモリ統計だけは表示される。

$ hugo --quiet -M --printMemoryUsage
Alloc = 411.1 MB
TotalAlloc = 1.5 GB
Sys = 587.8 MB
NumGC = 25

参考: 【Hugo】--printUnusedTemplatesで未使用テンプレートを検出する

参考: hugo | Hugo