pythonで最大ヒープサイズを設定する

やりたいこと

pythonのコード中で、メモリの最大ヒープサイズを設定する。

と、いうのも、メモリサイズが大きかったせいで、サーバーからプロセスがkillされてしまったらしいのだ。

これはマズイ。ということで、きちんとメモリ量を制御する。

どう解決するか?

resourceライブラリを使用する。

ここに簡単な使い方の説明がある。stackoverflow

日本語の公式ドキュメントがあるので、詳しくはこっちをみること。

あと、resourceライブラリとは関係ないが、命令ごとに利用してるメモリ量を監視する方法もある。

今回は必要なさげだったので、試していないが、デバッグの時は役に立つのではないかと。参考

それと、そもそもの話だが、メモリの最大ヒープサイズを設定しようにも、サーバーのメモリの量も確認しておかないといけない。

そこで、サーバーのメモリ状態を確認するにはlinuxコマンドのfreeを使う。

-m引数をつけると、メガバイト単位で情報を返してくれる。

 $ free -m
              total       used       free     shared    buffers     cached
 Mem:         64540      64219        320          0          1        810
 -/+ buffers/cache:      63407       1132
 Swap:        65535      19681      45854

このサーバーは物理メモリで64Gまでいけるらしい。

にしても、けっこうこの状況は圧迫していないだろうか・・・・