首頁 >系統教程 >Linux >CentOS 6.5為例 ulimit指令詳解

CentOS 6.5為例 ulimit指令詳解

WBOY
WBOY原創
2024-07-31 11:13:02652瀏覽
摘要: ulimit用來限制每個使用者可使用的資源,如CPU、記憶體、句柄等。以下以CentOS 6.5為例進行總結。

ulimit用來限制每個使用者可使用的資源,如CPU、記憶體、句柄等。以下以CentOS 6.5為例進行總結。

1 查看ulimit

指令格式:

<span class="hljs-built_in">ulimit</span> [-SHacdefilmnpqrstuvx]
  • 參數S :表示軟限制,當超過限制值會警報
  • 參數H:表示硬限制,必定不能超過限制值
  • 參數a :將列出所有資源限制,如:

CentOS 6.5为例 ulimit命令详解

  • 參數c :當某些程式發生錯誤時,系統可能會將程式在記憶體中的資訊寫成檔案(除錯用),這種檔案就稱為核心檔案(core file)。此為限制每個核心檔案的最大容量
  • 參數d :每個行程資料段的最大值
  • 參數f :目前shell可建立的最大檔案容量
  • 參數l :可以鎖定的實體記憶體的最大值
  • 參數m :可以使用的常駐記憶體的最大值
  • 參數n :每個行程可以同時開啟的最大檔案句柄數
  • 參數p :管道的最大值
  • 參數s :堆疊的最大值
  • 參數t :每個行程可以使用CPU的最大時間
  • 參數u :每個使用者執行的最大進程並發數
  • 參數v :目前shell可使用的最大虛擬記憶體
2 修改ulimit

指令格式:

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

在查看的指令後面加上限制值,就可以調整某個限制,但只對目前登入shell有效。

參數S表示設定軟限制;參數H表示設定硬限制;當都不指定時,表示設定軟限制和硬限制均為指定值。

3 永久修改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

以上是CentOS 6.5為例 ulimit指令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn