gpt4 book ai didi

linux - 如何在 Linux Matlab 中获取用于矩阵计算的空闲交换内存?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:52 28 4
gpt4 key购买 nike

情况:估计你是否可以在 Linux Matlab 中用你的 Ram 和 Swap 计算大矩阵
我需要 MemSwap 的总和,在 Linux 中 free -m Heading total 下的相应值

              total        used        free      shared  buff/cache   available
Mem: 7925 3114 3646 308 1164 4220
Swap: 28610 32 28578

通过

在 Matlab 中释放 Ram 内存
% http://stackoverflow.com/a/12350678/54964
[r,w] = unix('free | grep Mem');
stats = str2double(regexp(w, '[0-9]*', 'match'));
memsize = stats(1)/1e6;
freeRamMem = (stats(3)+stats(end))/1e6;

Matlab 中的释放交换内存:...

Matlab 内存需求与矩阵大小的关系:......

测试 Suever 的第二次迭代

Suever 的命令给了我 29.2 GB,这对应于 free 的输出非常正确

$ free
total used free shared buff/cache available
Mem: 8115460 4445520 1956672 350692 1713268 3024604
Swap: 29297656 33028 29264628

系统:Linux Ubuntu 16.04 64位
Linux内核:4.6
Linux 内核选项:wl、zswap
Matlab: 2016a
硬件:Macbook Air 2013 年中
内存:8 GB
交换:SSD 上 28 Gb(设置与线程 How to Allocate More Space to Swap and Increase its Size Greater than Ram? 中一样)
固态硬盘:128 GB

最佳答案

您只需对发布的代码稍作修改即可获取交换金额。

function freeMem = freeMemory(type)
[r, w] = unix(['free | grep ', type]);
stats = str2double(regexp(w, '[0-9]*', 'match'));
memsize = stats(1)/1e6;

if numel(stats) > 3
freeMem = (stats(3)+stats(end))/1e6;
else
freeMem = stats(3)/1e6;
end
end

totalFree = freeMemory('Mem') + freeMemory('Swap')

要计算矩阵占用多少内存,请使用数据类型的大小并乘以元素数作为第一个近似值。

关于linux - 如何在 Linux Matlab 中获取用于矩阵计算的空闲交换内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38594457/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com