内存管理-MemoryInUse[]都来自那些东西?
mathematica吧
全部回复
仅看楼主
level 9
0577216 楼主

ByteCount /@ Symbol /@ Names["Global`*"]
(*{0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}*)
和ByteCount /@ Out /@ Range[68]都没看到什么大的东西啊~~~~
(*
{56, 72, 80, 80, 80, 80, 48, 72, 56, 56, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 48, 0, 4008, 16, 4008, 4056, 1496, 16, 16, 1992, 2224, 0, \
528, 16, 16, 16, 768, 16, 16, 0, 216, 16, 16, 16, 16, 0, 160, 0, 0, 184, 0, \
2288, 6960, 6656, 32936, 6656, 13712, 63728, 64712, 16, 640}
*)
但MemoryInUse[]就从开始的30多M变成了130多M~~~~
而且“活动监视器”中“可用空间”就从开始时的1.2G下降到现在的281M~~(*关掉Mma就立刻恢复到>1G*)
(*"开始"指刚打开Mma后*)
2013年12月04日 05点12分 1
level 9
0577216 楼主
虽然我中间运行过something big,MaxMemoryUsed[]达到了273121784,但运行完了以后“活动监视器”中“可用空间”怎么不恢复啊嗷嗷~~~~
2013年12月04日 05点12分 2
吧务
level 15
我也做过类似的实验……结论是Mathematica的自动内存管理不是这么简单……
2013年12月07日 04点12分 3
1