2012-05-07 12 views
2

私のプログラムは、メモリがかなり貪欲なmatplotlibを使って、たくさんの行(〜200k)をプロットしています。私は通常プロットする前に約1.5Gの空きメモリを持っています。数字を表示すると、空きRAMが約600〜800Mのときにシステムが大幅にスワップを開始します。たとえば、膨大な数の配列を作成するときに、この動作は観察されません。使用可能なすべてのメモリがただちに使用されます。これがmatplotlibかシステムの問題かどうかを調べると良いでしょう。メモリがいっぱいになる前にシステムスワップ

私は64ビットのArch Linuxを使用しています。

UPD:スワップレベルは10に設定されています。DoctororDriveが提案したとおり、0に設定しようとしましたが、同じものです。しかし、他のプログラムは、スワップが使用される前にほぼすべてのメモリを満たしているように見えます。

答えて

5

RAMに空きメモリが残ったままスワップを開始します。 あなたは設定を考慮する必要があります

+0

@ DoctororDriveでは、システムのスワップレベルはデフォルトで10に設定されています。私はゼロに設定しようとしましたが、まったく同じことが起こります – dmytro

1

膨大な数の配列のために考慮する1つのことは、あなたがそれに触れていないということです。メモリは、デフォルトでカーネルによって遅れて割り当てられます。その巨大な配列にいくつかの値を書き込んでみて、スワップ動作を調べてみてください。

関連する問題