centos

CentOS中ulimit的进阶用法

小樊
38
2025-08-18 19:04:34
栏目: 智能运维

ulimit 是一个用于控制 shell 进程资源限制的命令行工具

  1. 查看当前资源限制:

    使用 ulimit -a 命令可以查看当前用户的所有资源限制。

  2. 临时修改资源限制:

    使用 ulimit 命令可以在当前 shell 会话中临时修改资源限制。例如,要将最大文件大小限制为 100MB,可以使用以下命令:

    ulimit -f 104857600
    

    请注意,这种修改只在当前 shell 会话中有效。当您关闭终端或打开新的终端时,更改将不会保留。

  3. 永久修改资源限制:

    要永久修改资源限制,需要编辑 /etc/security/limits.conf 文件。在此文件中,您可以为用户或用户组设置资源限制。例如,要将用户 username 的最大文件大小限制为 100MB,可以在文件中添加以下行:

    username soft fsize 104857600
    username hard fsize 104857600
    

    这里的 soft 表示软限制,hard 表示硬限制。软限制是用户可以自行增加的限制,而硬限制是系统管理员设置的最大限制。用户不能将自己的软限制超过硬限制。

  4. 修改其他资源限制:

    ulimit 命令支持许多其他资源限制选项。以下是一些常见的选项:

    • -n:最大文件描述符数
    • -u:最大进程数
    • -m:最大内存使用量(以 KB 为单位)
    • -t:最大 CPU 时间(以秒为单位)
    • -v:最大虚拟内存使用量(以 KB 为单位)

    要修改这些资源限制,只需将 ulimit 命令中的 -f 替换为相应的选项即可。

  5. 在脚本中使用 ulimit

    您还可以在 shell 脚本中使用 ulimit 命令来设置资源限制。例如,以下脚本将最大文件大小限制为 100MB,并运行一个名为 my_app 的应用程序:

    #!/bin/bash
    ulimit -f 104857600
    ./my_app
    

    请注意,脚本中的 ulimit 设置仅在脚本运行期间有效。当脚本执行完成后,资源限制将恢复为默认值。

0
看了该问题的人还看了