温馨提示×

centos ulimit如何设置内存限制

小樊
68
2025-03-15 16:52:06
栏目: 智能运维

在 CentOS 系统中,ulimit 命令用于控制 shell 启动进程的资源限制。如果你想设置内存限制,可以使用 ulimit 命令的 -v-m 选项来指定虚拟内存大小的限制。

以下是如何使用 ulimit 设置内存限制的步骤:

临时设置内存限制

  1. 打开终端

  2. 设置虚拟内存限制

    ulimit -v <size_in_kb> 

    例如,如果你想将虚拟内存限制设置为 512MB,可以执行:

    ulimit -v 524288 
  3. 设置物理内存限制

    ulimit -m <size_in_kb> 

    例如,如果你想将物理内存限制设置为 256MB,可以执行:

    ulimit -m 262144 

永久设置内存限制

临时设置只会在当前 shell 会话中生效。如果你想永久设置内存限制,可以编辑 /etc/security/limits.conf 文件。

  1. 打开 /etc/security/limits.conf 文件

    sudo vi /etc/security/limits.conf 
  2. 添加以下行来设置内存限制

    * soft as <size_in_kb> * hard as <size_in_kb> 

    例如,如果你想为所有用户设置 512MB 的虚拟内存限制,可以添加:

    * soft as 524288 * hard as 524288 
  3. 保存并退出编辑器

  4. 重新登录以使更改生效。

注意事项

  • ulimit -v 设置的是虚拟内存大小,包括进程使用的所有内存和交换空间。
  • ulimit -m 设置的是物理内存大小,仅包括进程实际使用的内存。
  • 如果你使用的是 systemd 管理的服务,可能需要在服务的配置文件中设置内存限制。例如,在 /etc/systemd/system/your_service.service 文件中添加:
    [Service] MemoryLimit=512M 

通过以上步骤,你可以在 CentOS 系统中设置内存限制。

0