本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ユーザーが使用できるリソースを制限する「ulimit」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ユーザーが使用できるリソースを制限する「ulimit」コマンドです。
「ulimit」はユーザーが使用できるリソースを制限するコマンドです。ファイルの最大サイズや、使用できるメモリ、同時に実行できるプロセス数などを制限できます。
なお、ulimitはbashの内部コマンド(ビルトインコマンド、シェルコマンド)であるため、「man」コマンドではなく、「help」コマンドで詳細を表示できます。
ulimit [オプション] [値]
※[ ]は省略可能な引数を示しています。
短いオプション | 意味 |
---|---|
-a | 現在設定されている値を全て表示する |
-H | 「強い制限(hard)」として設定する(制限を緩めるにはroot権限が必要になる、※1) |
-S | 「弱い制限(soft)」として設定する(強い制限の範囲内であれば、ユーザー自身が制限を緩めることが可能、※1) |
※1 「-S」と「-H」のどちらも指定しなかった場合は、「-S」と「-H」を両方指定した扱いになる。
短いオプション | 意味 |
---|---|
-c | 作成されるコアファイルの最大サイズ(512バイト単位のブロック数) |
-d | プロセスデータセグメントの最大サイズ(KB=1024バイト単位) |
-e | スケジュール優先度の最大値(nice値、※2) |
-f | シェルとシェルの子プロセスが書き込み可能なファイルサイズの最大値(ブロック数) |
-i | 保留できるシグナルの最大数 |
-l | メモリにロックできるプロセスの最大サイズ(KB) |
-m | 利用できる最大のメモリサイズ(KB) |
-n | 同時にオープンできるファイル数 |
-p | パイプのバッファーサイズ(512バイト単位のブロック数) |
-q | POSIXメッセージキューの最大バイト数 |
-r | リアルタイムスケジュール優先度の最大値 |
-s | スタックサイズの最大値(KB) |
-t | プロセスごとに利用できるCPU時間の最大値(秒数) |
-u | 実行可能なユーザープロセスの最大数 |
-v | シェルとシェルの子プロセスが利用可能な仮想メモリの最大サイズ(KB) |
-x | ファイルロックの最大数 |
※2 「nice」コマンド(連載第134回)を参照。
「ulimit -a」で現在の設定値をまとめて表示します(画面1)。個別の設定値を確認したい場合は「ulimit -u」(プロセス数)や「ulimit -f」(ファイルサイズ)など、知りたい値に対応したオプションを指定します。結果が「unlimited」となっている項目には上限が設定されていません。
「ulimit」のみで実行すると、ユーザーが作成できるファイルの最大サイズを表示します(「ulimit -f」相当)。なお、これは1つのファイルに対する制限です。ディスク領域の利用制限ではありません。
ulimit -a
(現在の設定を表示する)(画面1)
Copyright © ITmedia, Inc. All Rights Reserved.