Matlab Julia进程使用的内存
我正在做一个关于稀疏线性系统分辨率的项目(使用UMFPACK库并测试所有FEMLAB矩阵),我必须检查这个分辨率需要多少RAM(对于每个矩阵) 我必须用不同的编程语言测试UMFPACK,因此我已经在MATLAB中编写了一些代码,其中我发现了以下命令:Matlab Julia进程使用的内存,matlab,julia,ram,Matlab,Julia,Ram,我正在做一个关于稀疏线性系统分辨率的项目(使用UMFPACK库并测试所有FEMLAB矩阵),我必须检查这个分辨率需要多少RAM(对于每个矩阵) 我必须用不同的编程语言测试UMFPACK,因此我已经在MATLAB中编写了一些代码,其中我发现了以下命令: [user,sys]=内存,尤其是用户。MemUsedMATLAB 现在我不得不用Julia编程语言编写相同的软件,但似乎很难找到类似的命令;我对Julia很陌生,我刚刚尝试了命令@time,但我无法将分配的内存字节数存储在变量中。 这是非常重要的
[user,sys]=内存
,尤其是用户。MemUsedMATLAB
现在我不得不用Julia编程语言编写相同的软件,但似乎很难找到类似的命令;我对Julia很陌生,我刚刚尝试了命令@time
,但我无法将分配的内存字节数存储在变量中。
这是非常重要的,因为最后我需要用每个矩阵分配的内存字节值绘制一个图形
有人知道我的问题的解决办法吗?如何在变量中获取代码使用的RAM?Julia中是否有与MemUsedMATLAB
等效的命令?当调用相关代码时,宏将显示分配的内存量(总计)。这包括临时变量——Matlab不会告诉你的。您可以使用宏访问这些值;有关每个返回值的说明,请参见帮助:
julia> @timed rand(100000)'*rand(100000)
(25069.751546076346, 0.002270112, 1600336, 0.0, Base.GC_Diff(1600336, 2, 0, 7, 0, 0, 0, 0, 0))
help?> @timed
@timed
A macro to execute an expression, and return the value of the expression,
elapsed time, total bytes allocated, garbage collection time, and an object
with various memory allocation counters.
但那不是静止的记忆。它是表达式计算期间分配的内存总量。如果存在大量临时内存,则这可能远远高于系统的可用内存
您也可以使用该函数获得单个对象大小的估计值,但其中的计算是近似值。Julia的文档可能是一个良好的开端。此外,为了在比较不同程序时保持一致性,您可能希望改用系统设施(例如,找到一种方法来解析上述方法之一的输出)