代码之家  ›  专栏  ›  技术社区  ›  Fihop

系统资源不足(在shell脚本中执行许多程序)

  •  0
  • Fihop  · 技术社区  · 14 年前

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

    有办法解决这个问题吗?

    我的部分shell代码如下所示:

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

    2 回复  |  直到 14 年前
        1
  •  1
  •   nategoose    14 年前

    由于你是自动运行学生的程序,那么可能是他们的程序写得不好,使用的RAM比由更熟练的程序员编写的类似程序需要的要多。甚至Java和Python程序的编写方式也会导致内存泄漏(想想一个堆栈,它永远不会弹出任何内容,只会推送更多的内容)。

    你也应该看看学生作品的源代码。尤其是当你在他们的作业中出错的时候。

    在运行测试以监视资源使用情况时,您可能还希望在另一个终端上保持top在该计算机上运行。

        2
  •  1
  •   djna    14 年前

    您似乎正在运行maxconnect4,然后在开始下一次运行之前等待它完成,所以我不认为您的shell脚本本身就是isuue。最大的问题是maxconnect4在做什么。它可能非常需要资源,或者它本身可以启动子进程并返回到您的脚本。

    我会尝试一些实验,例如手动启动maxconnect4几次,您是否发现了资源错误?