gpt4 book ai didi

java - 用完系统资源(在 shell 脚本中执行许多程序)

转载 作者:行者123 更新时间:2023-11-28 03:55:29 27 4
gpt4 key购买 nike

我在大学的服务器上运行一个 shell 脚本。在这个 shell 脚本中,我将执行 java、c、c++、python 和 perl 程序。因为每个程序都会执行很多次(我是助教,会用很多不同的输入来测试学生的程序)。服务器总是给我一个错误:“系统资源用完”。我想这是因为我没有释放资源。

听说在shell脚本中运行一次程序会激活一个进程。所以我想可能进程太多了,系统分配给我的资源已经用完了。

有什么办法可以解决这个问题吗?

我的部分 shell 代码如下:

# maxconnect4 is the compiled c code
for ((i = 1; i <= 21; i++))
do
maxconnect4 input1.txt
done

谢谢

最佳答案

由于您是自动运行学生的程序,因此他们的程序可能编写得不好并且使用的 RAM 比由更熟练的程序员编写的类似程序所需的更多。甚至 Java 和 Python 程序也可能以内存泄漏的方式编写(想想一个永远不会从中弹出任何东西,只会压入更多东西的堆栈)。

您应该使用您即将评分的作业的已知良好实现来测试您的设置,作为完整性检查。

您还应该查看学生作业的源代码。特别是如果您在他们的作业中遇到错误。

您也可能只是有一个过载的系统,并且可能需要在另一台机器上运行这些测试。对于此类事情,使用没有其他用户的机器是个好主意,因为你和你正在测试的程序之外的东西不太可能搞乱你的测试。

在运行测试以监控资源使用情况时,您可能还希望在另一台终端上的那台机器上保持 top 运行。

关于java - 用完系统资源(在 shell 脚本中执行许多程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3801552/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com