dyno メモリの動作
最終更新日 2025年03月28日(金)
メモリの動作
アプリケーションで使用できる RAM の上限は、使用する dyno サイズによって異なります。使用する dyno サイズが小さすぎると、メモリスワップが繰り返され、アプリケーションのパフォーマンス低下につながります。メモリ使用量などのアプリケーション関連のメトリクスデータは、Heroku Dashboard の Metrics
(メトリクス) タブにあります。ログのランタイム関連の指標でメモリを測定することもできます。アプリ内のメモリリークも使用量の問題を引き起こす可能性があります。メモリリークが疑われる場合は、メモリプロファイリングツールを使用してください。
たとえば、スワップは Private Space 内のすべての dyno で利用できるわけではありません。通常、メモリ割り当てを大幅に超過した Private-M dyno はスワップ領域を使用せずに R15 エラーを出力します。代わりに、プラットフォームは、大量のメモリを消費しているプロセスを強制終了しますが、dyno 自体を強制終了しない場合があります。
少量のスワップ領域を使用し、メモリスワップが頻繁でない場合は、通常は問題になりません。アプリケーションがメモリ上限に達していない場合でも、オペレーティングシステムがメモリと利用可能なディスクキャッシュを管理しているため、少量のメモリがディスクにスワップされることは珍しくありません。
メモリ使用量が各 dyno サイズの次の制限に達すると、Dyno Manager は dyno を再起動し、R15 エラーをログに記録します。
Cedar 世代のアプリ
- Eco、Basic、または Standard-1X dyno: 1 GB、割り当ての 2 倍。
- Standard-2X dyno: 2 GB、割り当ての 2 倍。
- Performance-M dyno: 5 GB、割り当ての 2 倍。
- Performance-L dyno: 28 GB、割り当ての 2 倍。
- Performance-L-RAM dyno: 36 GB、割り当ての 1.2 倍。
- Performance-XL dyno: 74 GB、割り当ての 1.2 倍。
- Performance-2XL dyno: 151 GB、割り当ての 1.2 倍。
- Private-S または Shield-S dyno: 割り当ての 1 GB。
- Private-M または Shield-M dyno: 割り当ての 2.5 GB。
- Private-L または Shield-L dyno: 割り当ての 14 GB。
- Private-L-RAM または Shield-L-RAM dyno: 割り当ての 30 GB。
- Private-XL または Shield-XL dyno: 割り当ての 62 GB。
- Private-2XL または shield-2XL dyno: 割り当ての 126 GB。
Fir 世代のアプリ
メモリ使用量が割り当て量の 100% に達すると、Fir 世代のアプリのすべての dyno が再起動されます。