在CentOS中,您可以使用ulimit
命令或cgroups
來限制單個進程的內存使用
方法1:使用ulimit
命令
ps
或top
命令查找PID。例如,使用ps aux | grep 進程名稱
。ulimit
命令限制內存使用。例如,如果您想將內存限制為500MB,可以使用以下命令:ulimit -Sv 512000
這將限制當前shell會話中啟動的進程的內存使用。請注意,這僅對當前shell會話中的進程有效。要永久限制進程的內存使用,請參閱方法2。
方法2:使用cgroups
cgroups
(control groups)是Linux內核的一個功能,可以用來限制、記錄和隔離進程組的資源使用(如CPU、內存等)。
cgroup-tools
包。在終端中運行以下命令:sudo yum install cgroup-tools
memory_limit
的cgroup,并將內存限制為500MB:sudo cgcreate -g memory:memory_limit
echo $((512*1024*1024)) > /sys/fs/cgroup/memory/memory_limit/memory.limit_in_bytes
cgclassify
命令將進程添加到memory_limit
cgroup:sudo cgclassify -g memory:memory_limit PID
現在,該進程的內存使用將受到限制。如果需要刪除cgroup,可以使用以下命令:
sudo cgdelete -g memory:memory_limit
請注意,這些方法僅限制進程的內存使用,而不是磁盤I/O或其他資源。要全面限制進程的資源使用,建議使用cgroups
。