ulimitはユーザリソースの制限を設定・確認するコマンド。ソフトリミットはハードリミットを超える値は設定できない。またハードリミットは値を下げることは誰でもできるが、値を上げるのはroot権限がないとできない。
ソフトリミット→現在の設定値
ハードリミット→各ユーザ自身で設定できる上限値
【設定確認】
ulimit -a ← 全項目の設定確認(ソフトリミットの表示)
ulimit -aS ← 全項目の設定確認(ソフトリミットの表示)
ulimit -aH ← 全項目の設定確認(ハードリミットの表示)
ulimit (オプション) ← 各項目の設定確認
※オプションは下記の表を参照
【設定変更】
★一時的変更をする場合
以下のulimitコマンドにて値を変更する。一時的変更のため再ログインすると元に戻る。
ulimit (-H)(-S) (オプション) (数値)
-H ハードリミットの変更
-S ソフトリミットの変更
※-H、-Sを指定しないと両方が変更される
各コマンドオプションとパラメータの対応表
コマンド |
ユーザ パラメータ |
ulimit -aの表示 |
-t | cpu | time |
-f | fsize | file |
-d | data | data |
-s | stack | stack |
-m | rss | memory |
-c | core | coredump |
-n | nofile | nofiles |
-r | threads | threads |
-u | nproc | processes |
★永続的な変更をする場合
以下の設定ファイルに設定を記載する。
①/etc/security/limits.conf
記述例
user01 soft nofile 1024 ←user01のnofileのソフトリミットを1024に設定
user01 hard nofile 4096 ←user01のnofileのハートリミットを4096に設定
user02 – nproc 65536 ←user02のnprocのソフトとハードの両方を65536に設定
* soft fsize 655360 ←全ユーザのfsizeのソフトリミットを655360に設定
@ope hard fsize 655360 ←opeグループのsizeのハードリミットを655360に設定
修正後に設定したユーザに再ログインすれば値が変わっていることを確認できる
②/etc/security/limits.d/90-nproc.conf
RedHat5もしくは6の場合はユーザプロセスの制限値(nproc)は、デフォルトでこちらのファイルで制御している。(RedHat7の場合は20-nproc.conf)
nprocをlimits.confにも書けるらしいが、こちらの90-nproc.confが優先されるとか(確認してないです)
記述の仕方はlimits.confと同じ
コメント