ubuntu

Ubuntu ulimit硬限制如何设置

小樊
40
2025-05-18 19:31:45
栏目: 智能运维

在 Ubuntu 系统中,ulimit 是一个用于控制 shell 进程资源使用的命令行工具。ulimit 可以设置软限制(soft limit)和硬限制(hard limit)。软限制是可以由用户自己调整的限制,而硬限制是系统管理员设置的最大限制,用户无法超过这个限制。

要设置硬限制,你需要使用 ulimit 命令的 -H 选项来指定硬限制。以下是一些常见的资源类型和相应的 ulimit 命令示例:

  1. 文件大小(以字节为单位):

    ulimit -Hf <size_in_bytes>
    
  2. 进程数

    ulimit -Hn <number_of_processes>
    
  3. 打开文件描述符的数量

    ulimit -Hn <number_of_open_files>
    
  4. CPU 时间(以秒为单位):

    ulimit -Ht <cpu_time_in_seconds>
    
  5. 内存大小(以千字节为单位):

    ulimit -Hm <memory_size_in_kb>
    
  6. 堆栈大小(以千字节为单位):

    ulimit -Hs <stack_size_in_kb>
    
  7. 核心文件大小(以块为单位):

    ulimit -Hc <core_file_size_in_blocks>
    
  8. 数据段大小(以千字节为单位):

    ulimit -Hd <data_segment_size_in_kb>
    
  9. 最大用户进程数

    ulimit -Hu <maximum_user_processes>
    
  10. 最大文件大小(以块为单位):

    ulimit -Hs <maximum_file_size_in_blocks>
    

请注意,这些设置通常只对当前 shell 会话有效。如果你希望永久更改这些限制,你需要编辑系统配置文件,例如 /etc/security/limits.conf

/etc/security/limits.conf 文件中,你可以添加如下行来设置硬限制:

*               hard    nofile          <number_of_open_files>
*               hard    nproc           <number_of_processes>
*               hard    memlock         unlimited

这里的 * 表示所有用户,你可以根据需要替换为特定的用户名。nofile 控制打开文件描述符的数量,nproc 控制进程数,memlock 控制可锁定的内存大小。

编辑完 /etc/security/limits.conf 文件后,你需要重新登录或重启系统以使更改生效。

0
看了该问题的人还看了