Home >System Tutorial >LINUX >Detailed explanation of ulimit command using CentOS 6.5 as an example

Detailed explanation of ulimit command using CentOS 6.5 as an example

WBOY
WBOYOriginal
2024-07-31 11:13:02653browse
Abstract: ulimit is used to limit the resources that each user can use, such as CPU, memory, handles, etc. The following takes CentOS 6.5 as an example to summarize.

ulimit is used to limit the resources that each user can use, such as CPU, memory, handles, etc. The following takes CentOS 6.5 as an example to summarize.

1 View ulimit

Command format:

<span class="hljs-built_in">ulimit</span> [-SHacdefilmnpqrstuvx]
  • ParameterS: Indicates soft limit. When the limit value is exceeded, an alarm will be issued
  • ParameterH: Represents a hard limit, which must not exceed the limit value
  • Parameter a: All resource limits will be listed, such as:

CentOS 6.5为例 ulimit命令详解

  • Parameter c: When an error occurs in some programs, the system may write the information of the program in the memory into a file (for debugging). This kind of file is called a core file. This limits the maximum capacity of each core file
  • Parameterd: The maximum value of each process data segment
  • Parameterf: The maximum file size that can be created by the current shell
  • Parameterl: The maximum value of physical memory that can be locked
  • Parameterm: The maximum value of resident memory that can be used
  • Parametern: The maximum number of file handles that each process can open simultaneously
  • Parameterp: The maximum value of the pipeline
  • Parameterss: the maximum value of the stack
  • Parametert: The maximum time each process can use the CPU
  • Parameteru: The maximum number of concurrent processes running by each user
  • Parameterv: The maximum virtual memory that can be used by the current shell
2 Modify ulimit

Command format:

<span class="hljs-built_in">ulimit</span> [-SHcdefilmnpqrstuvx] [<span class="hljs-built_in">limit</span>]

Add the limit value after the command you are viewing to adjust a certain limit, but it is only effective for the current login shell.

Parameter S means setting a soft limit; parameter H means setting a hard limit; when neither is specified, it means setting both the soft limit and the hard limit to the specified values.

3 Permanently modify ulimit

所谓永久,是指每次登陆shell时,都会按配置重新设定ulimit ,以达到永久生效的效果。

  • 步骤一:修改/etc/security/limits.conf

添加如下内容:

关于该文件的配置方式请参考后文

[root@CentOS646506 ~]# vim /etc/security/limits.conf
<span class="hljs-bullet">* </span>hard nproc 64000
<span class="hljs-bullet">* </span>soft nproc 64000
<span class="hljs-bullet">* </span>hard nofile 64000
<span class="hljs-bullet">* </span>soft nofile 64000

以上内容表示,将-u-n 的软限制和硬限制同时修改为64000。

  • 步骤二:修改/etc/pam.d/login

添加如下内容:

[root<span class="hljs-variable">@CentOS646506</span> ~]<span class="hljs-comment"># vim /etc/pam.d/login</span>
session required pam_limits.so

以上内容表示,在登录时使用pam 管理limit

  • 步骤三:修改/etc/profile

添加如下内容

[root@CentOS646506 ~]<span class="hljs-comment"># vim /etc/profile</span>
<span class="hljs-built_in">ulimit</span> -u 64000
<span class="hljs-built_in">ulimit</span> -n 64000

每次登陆shell后,会初始执行这两条ulimit 命令,并使其生效。

  • 步骤四:使配置生效

重新登录或使用source /etc/profile 立即生效。

source使当前shell对指定文件内容生效。

3.1 /etc/security/limits.conf配置详解

格式:

<span class="hljs-tag"><<span class="hljs-name">domain</span>></span> <span class="hljs-tag"><<span class="hljs-name">type</span>></span> <span class="hljs-tag"><<span class="hljs-name">item</span>></span> <span class="hljs-tag"><<span class="hljs-name">value</span>></span>
  • domain 是指生效实体
    • 用户名
    • 也可以通过@group 指定用户组
    • 使用* 表示默认值
  • type 指限制类型
    • soft 软限制
    • hard 硬限制
  • item限制资源
    • core同ulimit -c
    • data同ulimit -d
    • fsize同ulimit -f
    • memloc同ulimit -l
    • nofile同ulimit -n
    • stack同ulimit -s
    • cpu 同ulimit -t
    • nproc同ulimit -u
    • maxlogins指定用户可以同时登陆的数量
    • maxsyslogins系统可以同时登陆的用户数
    • priority用户进程运行的优先级
    • locks用户可以锁定的文件最大值
    • sigpengding同ulimit -i
    • msgqueue同ulimit -q

The above is the detailed content of Detailed explanation of ulimit command using CentOS 6.5 as an example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn