KDOC 137: 簡単にプロセスの使用メモリを確認する
この文書のステータス
- 作成
- 2024-04-20 貴島
 
- レビュー
- 2024-04-27 貴島
 
概要
ゲームを作る過程で、特定の画面を開くと激しくメモリ消費量が上がる問題にあたった。いままでメモリリークが問題となるような課題に取り組んでこなかったので、手間取った。
まず状況を正しく把握するために、コマンドで定期実行してメモリを観察する。
  watch -n 1 'ps aux | head -n 1 && ps aux | grep ruins'
Every 1.0s: ps aux | head -n 1 && ps aux | grep ruins
USER         PID %CPU %MEM    VSZ   RSS   TTY    STAT START   TIME COMMAND
orange   2421837 25.8  0.6 4584268 218656 pts/10 Sl+  22:35   2:21 ruins
orange   2481913  0.0  0.0  10148  1016 pts/8    S+   23:03   0:00 grep ruins
...
- VSZ
- Virtual Memory Size(仮想メモリ)。プロセスがアクセスできるメモリ領域サイズの総和。プロセスは未使用の可能性がある
- RSS
- Resident Set Size(物理メモリ)。プロセスが確保している物理メモリの使用量。mallocしても書き込みを行っていなければまだ確保されてない
とはいえ、これだけでは何もわからない。プロセスを確認できたら別の方法(プログラミング言語ごとに用意されたプロファイラなど)で詳しく調べていく。
関連
- KDOC 59: ECSを使ってRPGを作る。作る過程で激しくメモリリークする問題にあたったので、調べた