84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
在运行一个命令的时候可以限制其消耗内存大小,我找到一个命令ulimit,但是他如果发现进程超过最大内存的话,会kill掉。这并不是我想要的,我希望只是限制使用最大内存,但不能kill掉。
认证高级PHP讲师
用 ulimit 是解决这个问题的正道。
ulimit
如果内存超了还不 kill,那么应该怎么处置这个程序呢?任其继续使用内存么?那还限制总内存干什么呢~
如果命令是自己写的,并且只要外部通知一下就能够回收内存,那么可以考虑让这个命令能够响应某个特殊消息,比如 SIGUSR1,收到后就回收内存。然后写一个 monitor 程序,通过 /proc/$PID 来不断看内存使用,一旦超了就给它发消息。不过看起来题主的要求是任意命令,这个方法就明显不工作了。
SIGUSR1
/proc/$PID
用
ulimit
是解决这个问题的正道。如果内存超了还不 kill,那么应该怎么处置这个程序呢?任其继续使用内存么?那还限制总内存干什么呢~
如果命令是自己写的,并且只要外部通知一下就能够回收内存,那么可以考虑让这个命令能够响应某个特殊消息,比如
SIGUSR1
,收到后就回收内存。然后写一个 monitor 程序,通过/proc/$PID
来不断看内存使用,一旦超了就给它发消息。不过看起来题主的要求是任意命令,这个方法就明显不工作了。