Ubuntu LTSとZEROスワップの遅いMatlab

Ubuntu LTSとZEROスワップの遅いMatlab

私はWin7でMatlab2012を使用しており、私のアルゴリズムは高速ですが(1回の繰り返しで80秒)、多くのメモリを消費します。

私はUbuntu 12.04 LTSでMatlab2013を使用していますが、RAMの使用量は非常に少なくなりますが、Windowsよりも時間がかかります(繰り返しには30分かかり、これまでは終わりませんでした)。

私が言ったように、RAMは8Gのうち1G使用量を示し、スワップは8Gのうち0%を示します。デフォルト値を確認してみると60なのにどうせ使われませんね!

何が問題なのかもしれませんが、どのように以前のようにMatlabを高速化できますか?

答え1

同様の問題がありました。 Matlab R2013a 64ビットがWindows 7よりUbuntu 14.04で遅く実行されました。多くの違いがありますが、ハードウェアなどは同じです。ついに答えを見つけました。

Windows 7は、Matlabが実行されているときにCPU周波数を可能な限り高いしきい値に調整しますが、Ubuntuではそうではありません。

可能な限り高い頻度を使用するようにUbuntuを設定するには、次のコマンドを使用して "indicator-cpufreq"アプリケーションをインストールします。

sudo apt-get install indicator-cpufreq

次に、次のコマンドを実行します。

indicator-cpufreq

メニューから「パフォーマンス」オプションを選択します。周波数をできるだけ高い振幅に変更します。 Matlabは現在Widows 7と同じ速度で動作します。

答え2

遅い速度と低いRAM使用量の間には因果関係があります。ソートアルゴリズムの99%には、一部または多くのメモリが必要です。

freeコマンド(およびそのマニュアルページに付属のすべてのもの - ハードコア)を確認してください。あなたの場合にも行うことができfree -gます要約1桁の単位(ギガビット)です。

findmnt追加のメモリドライバを使用すると、大きなページ行を表示できます。

/dev/hugepages hugetlbfs ... pagesize=2M

あなたの場合(観察を使用する重い数学作業)には、この機能をオンにする必要があります。しかし、これはあなたの質問と直接関係がなく、最適化に近いです。

これらすべては自然に起こらなければなりません。 Mathematicaはメモリを必要とし、カーネルがそれを提供するので問題ありません。それがメモリのためです。周りに多くのメモリを占める他のプログラムはありません。

怠惰なので、提供されたバージョンを確認できません。 LTS?どこかに問題があるようです。特定のバージョンのmatlab、ubuntu、またはインストールに問題があります。お役に立てば幸いです。すべてが「最新」であることを確認してください。

また、8 GBのメモリ(80%が無料で「使用可能」であると仮定)を使用すると速度が速くなります。

については交換クレイジーなものを最適化したくなければ、これはここでは重要ではないので、そうではありません。通常、matlabではカーネルがスワップを開始したくありません。

関連情報