ulimitでユーザリソースの制限(Linux)

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と同じ

スポンサーリンク
勉強wikiの下部広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
勉強wikiの下部広告

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA