平行池在迭代期间关闭

56意见(过去30天)
J王
J王 2018年7月17日
评论道: Daniel Poiesz.2021年8月4日21:39
大家好,我在迭代期间遇到了以下错误。
请查看下面的错误信息。
迭代XXXX已完成20项中的20项。
IdleTimeout已达到。
并行使用“XXX”配置文件的池正在关闭。
开始使用“AAAA”配置文件的并行池(parpool)...
连接到xx工人。
错误使用XXX...
同样在我的主目录中,我发现一些错误文件似乎是由JAVA生成的。
在那里对于Java运行时环境不足,内存不足以继续。
本地的内存分配(MMAP)无法映射用于提交保留内存的262144字节。
可能的原因:
系统没有物理RAM或交换空间
32位模式,进程大小已达到限制
可能的万博 尤文图斯解决方案:
减少系统上的内存负载
增加物理内存或交换空间
检查如果交换背衬商店已满
使用64位操作系统上的64位Java
减少Java堆大小(-Xmx/-Xms)
减少Java线程数
减少Java线程堆栈大小(-Xss)
更大的代码缓存-XX:ReservedCodeCacheSize=
输出文件可能被截断或不完整。
执行命令os_linux.cpp:2640时出现内存错误pid = 21819, tid x00007f9533511700 = 0
Java(TM) SE Runtime Environment (8.0_144-b01) (build 1.8.0_144-b01)
JavaVM:Java Hotspot(TM)64位服务器VM(25.144-B01混合模式Linux-AMD64压缩oops)
失败的写入核心转储。核心转储已被禁用。实现岩心转储尝试“ulimit -c无限制”之前再次启动Java.
--------------- T HR e a d---------------
当前的线程(0 x00007f95498a1000):WorkerSessionBuilder JavaThread”。init -lab0" daemon [_thread_in_vm, id=29582, stack(0x00007f9533411000,0x00007f9533512000)]
Stack: [0x00007f9533411000,0x00007f9533512000], sp=0x00007f953350dd80,空闲空间k = 1011
本地的(J=编译过的Java代码,J=解释过的Java代码,Vv=虚拟机代码,C=本地代码)
V[libjvm.so + 0xacb18a]x2ba VMError:: report_and_die () + 0
V[libjvm.so + 0 x4ff4db]report_vm_out_of_memory(char const*, int, unsigned long, VMErrorType, char const*)+0x8b
设置JAVA后
出口_java_options =“ - xmx110g”
那些
hs_error_pidXXX.log文件
消失了,但它仍然在迭代期间崩溃。
请你看看并给我一些建议吗?我对matlab很新。任何帮助都会受到高度赞赏。提前致谢。

答案(1)

小次郎斋藤
小次郎斋藤 2018年7月17日
你能检查硬/软限制是否足够在你的Linux机器上的最大进程数(nproc)和最大打开文件数(nofile)。
ulimit.-
将显示当前的硬/软限制。例如,对于大型并行执行,可能需要将这些值从1024增加到65536。
2的评论
Daniel Poiesz.
Daniel Poiesz. 2021年8月4日21:39
你会怎么处理窗户?我有parfor代码,工作到28个工人,但闲置29-32。有32个可供选择。理想时间设置为30分钟。

登录评论。

s manbetx 845


释放

R2018A

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!