ubuntu - 在linux怎么限制一个进程运行内存大小
PHP中文网
PHP中文网 2017-04-17 12:02:40
0
1
768

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
阿神

ulimit 是解決這個問題的正道。

如果記憶體超了還不 kill,那該怎麼處置這個程式呢?任其繼續使用內存麼?那還限制總記憶體幹嘛~

如果命令是自己寫的,並且只要外部通知一下就能夠回收內存,那麼可以考慮讓這個命令能夠響應某個特殊消息,比如 SIGUSR1,收到後就回收內存。然後寫一個 monitor 程序,透過 /proc/$PID 來不斷看記憶體使用,一旦超了就給它發訊息。不過看起來題主的要求是任意命令,這個方法就明顯不工作了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!