在 CentOS 系统中,ulimit
命令用于控制 shell 启动进程的资源限制。如果你想设置内存限制,可以使用 ulimit
命令的 -v
或 -m
选项来指定虚拟内存大小的限制。
以下是如何使用 ulimit
设置内存限制的步骤:
临时设置内存限制
-
打开终端。
-
设置虚拟内存限制:
ulimit -v
例如,如果你想将虚拟内存限制设置为 512MB,可以执行:
ulimit -v 524288
-
设置物理内存限制:
ulimit -m
例如,如果你想将物理内存限制设置为 256MB,可以执行:
ulimit -m 262144
永久设置内存限制
临时设置只会在当前 shell 会话中生效。如果你想永久设置内存限制,可以编辑 /etc/security/limits.conf
文件。
-
打开
/etc/security/limits.conf
文件:sudo vi /etc/security/limits.conf
-
添加以下行来设置内存限制:
* soft as
* hard as 例如,如果你想为所有用户设置 512MB 的虚拟内存限制,可以添加:
* soft as 524288 * hard as 524288
-
保存并退出编辑器。
-
重新登录以使更改生效。
注意事项
ulimit -v
设置的是虚拟内存大小,包括进程使用的所有内存和交换空间。ulimit -m
设置的是物理内存大小,仅包括进程实际使用的内存。- 如果你使用的是 systemd 管理的服务,可能需要在服务的配置文件中设置内存限制。例如,在
/etc/systemd/system/your_service.service
文件中添加:[Service] MemoryLimit=512M
通过以上步骤,你可以在 CentOS 系统中设置内存限制。