ホームページ  >  に質問  >  本文

ubuntu - 在linux怎么限制一个进程运行内存大小

在运行一个命令的时候可以限制其消耗内存大小,我找到一个命令ulimit,但是他如果发现进程超过最大内存的话,会kill掉。这并不是我想要的,我希望只是限制使用最大内存,但不能kill掉。

PHP中文网PHP中文网2742日前773

全員に返信(1)返信します

  • 阿神

    阿神2017-04-17 12:04:40

    ulimit 是解决这个问题的正道。

    如果内存超了还不 kill,那么应该怎么处置这个程序呢?任其继续使用内存么?那还限制总内存干什么呢~

    如果命令是自己写的,并且只要外部通知一下就能够回收内存,那么可以考虑让这个命令能够响应某个特殊消息,比如 SIGUSR1,收到后就回收内存。然后写一个 monitor 程序,通过 /proc/$PID 来不断看内存使用,一旦超了就给它发消息。不过看起来题主的要求是任意命令,这个方法就明显不工作了。

    返事
    0
  • キャンセル返事