Ubuntu LTS 和 ZERO Swap 上的慢速 Matlab

Ubuntu LTS 和 ZERO Swap 上的慢速 Matlab

我在Win7下使用Matlab2012,我的算法虽然速度很快(一次迭代80秒),但却消耗了大量内存。

现在我在Ubuntu 12.04 LTS下使用Matlab2013,虽然RAM的使用量很小,但是时间比在Windows上要高得多(迭代了30分钟,直到现在才完成)。

正如我所说,RAM 显示 8G 中的 1G 使用率……而交换显示 8G 中的 0%。我检查了默认值,它是60,但无论如何都没有使用!

可能是什么问题,以及如何像以前一样加速 Matlab?

答案1

我遇到了类似的问题,我的 Matlab R2013a 64 位在 Ubuntu 14.04 上运行比 Windows 7 慢。差异如此之大,但硬件等是相同的。我终于找到了答案。

当 Matlab 运行时,Windows 7 会将 CPU 频率调整到可能的最高阈值,但在 Ubuntu 上却不会。

为了将 Ubuntu 配置为使用尽可能最高的频率,请使用以下命令安装应用程序“indicator-cpufreq”:

sudo apt-get install indicator-cpufreq

然后运行命令:

indicator-cpufreq

从其菜单中选择“性能”选项。它将把频率改变到尽可能高的幅度。现在Matlab 的运行方式与Widows 7 上相同,速度相同。

答案2

速度慢和 RAM 使用率低之间存在因果关系。 99% 的排序算法需要一些或大量内存。

查看free命令(及其手册页以及随之而来的所有内容 - 硬核,一点)。在你的情况下,你甚至可以free -g做得到概要以个位数单位(千兆)。

findmnt可以显示大页行,一种附加内存驱动程序:

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

在你的情况下(大量的数学内容,使用观察)应该打开它。但与你的问题没有直接关系,更多的是优化的事情。

这一切都应该自行发生——mathematica 需要内存,内核提供内存,没问题,这就是它的用途。周围没有其他占用内存的程序。

我懒得检查你提供的版本,LTS?一定是某个地方出了问题。 matlab 或 ubuntu 的某一版本或您的安装有问题。希望有帮助。只要确保一切都是“最新的”即可。

一旦 8 GB 内存(假设其中 80% 是免费“可用”的)被使用,它的速度也会加快。

至于交换这在这里并不重要 - 不应该重要 - 除非你想优化一些疯狂的东西。一般来说,在 matlab 中,您不希望它让内核开始交换。

相关内容