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までいけるらしい。
にしても、けっこうこの状況は圧迫していないだろうか・・・・