2

在最近的一个项目中,我必须测量不同算法的内存需求以进行比较。但是,我无法控制内存分配本身(算法是用 matlab 编写的),但似乎只有在需要时才分配内存,并在系统不再需要时提前释放内存。因此,测量内存需求的想法如下:

  1. 获取正在运行的matlab进程的PID
  2. 在算法开始之前读取/proc/<PID>/status并解析并记录条目VmSize
  3. 在每个算法的内部循环中执行与 2) 相同的操作,并将 's 之间的差异记录 VmSize为算法的内存消耗

现在我的问题是:这是对内存消耗的可靠估计吗?还是我应该使用不同的字段(有很多Vm*字段可供选择,但我发现VmSize与我预期的最接近)?请注意,我不需要“精确到字节”的测量,而只需要一些“粗略”的估计。

4

0 回答 0