2

私のプログラムは、メモリにかなり貪欲なmatplotlibを使用して多数の行(〜200k)をプロットします。通常、プロットする前に約 1.5G の空きメモリがあります。数値を表示すると、RAM の空き容量がまだ約 600 ~ 800M あるときに、システムが頻繁にスワップを開始します。この動作は、たとえば巨大な numpy 配列を作成する場合には観察されず、使用可能なすべてのメモリを瞬時に消費します。これがmatplotlibまたはシステムの問題であるかどうかを判断するとよいでしょう。

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

UPD: swapiness レベルが 10 に設定されています。ただし、他のプログラムは、スワップが使用される前にほとんどすべてのメモリを使用しても問題ないようです。

4

2 に答える 2

5

RAMに空きメモリを残してスワップを開始します。Swappiness の設定を検討する必要があります

于 2012-05-07T11:14:36.583 に答える
1

巨大な numpy 配列について考慮すべきことの 1 つは、それに触れていないことです。デフォルトでは、メモリはカーネルによって遅延的に割り当てられます。その巨大な配列にいくつかの値を書き込んでから、スワップ動作を確認してください。

于 2012-05-07T11:18:44.040 に答える