主核心启动约占内存73K,每个子核心相仿。
我需要处理的表达式每处理一个大概增加内存50k,由于使用并行算法,每个子核心同步增加相应内存。
当内存占用达到400K+ 不稳定,会崩溃。
使用局部变量无法避免,占用增加持续;
Clear["Global`*"]无法消除占用;
Clear["Global`*"];CloseKernels[]再LaunchKernels[],每个子核重新启动时内存73K,马上通信把过百K内容通过主核心复制到子核;
Clear["Global`*"];CloseKernels[];ClearSystemCache[];LaunchKernels[],ClearSystemCache瞬间主核心占用回到73K,随即不知哪里来的东西又占过百K。接着复制到子核……
依然每算几个表达式mathematica 崩溃一次。只好及时保存状态。 本帖最后由 zeroieme 于 2016-2-8 15:01 编辑
笔记:
FindRoot有严重内存泄漏问题 终极一招,命令行调用内核。模块化,计算内容由文件输入输出,完成后Quit[];关闭内核。
页:
1
[2]