方法1. nm
コマンド
主にstatic領域のメモリ使用量を調査するのに有益。embassyの独立したタスクなどのサイズが見れる。
方法2. elf-size-analyze
元は型ごとにバイナリサイズを表示できるコマンド(
-HaF
)だが、-HaR
オプションを付けることで静的メモリサイズの解析もできる。方法3. -Zprint-type-sizes
nightly限定のrustcで使えるフラグである
-Zprint-type-sizes
を使う。これはコンパイル時に全ての型のサイズを出力してくれるものである。async関数などでfutureが想定よりデカい可能性があるときなどに使える。この出力をtop-type-sizesというツールに通せば見やすくしてくれる。
nushellの例: