我正在Unix平台上运行C++中的Hex游戏(目前正在运行c shell).我的游戏的AI需要不到一分钟的时间来决定它的移动(我使用的是一种蒙特卡罗算法),经过几个步骤,程序自行终止,只是打印"Killed"才返回我的命令提示符.有没有人理解导致这种情况发生的原因,并对如何更改我的代码进行修复提出任何建议?如果它有帮助,我没有使用我的系统.我使用SSH Secure Shell连接到学校的服务器.我还应该指出,我不认为我的算法有问题,因为它可以像我预期的那样工作直到崩溃,但它在决定第7步时一直崩溃.
这就是执行此操作的内存不足管理器。很可能你有某种内存泄漏。如果您想继续处理内存泄漏,您可以在另一个会话中运行这样的脚本。将 processname 替换为二进制文件的名称。
#!/bin/bash
while true; do {
pgrep -x "processname" | while read PID; do {
echo -1000 > /proc/$PID/oom_score_adj;
} done;
} done;
Run Code Online (Sandbox Code Playgroud)