ulimit - サーバー運営上必要なコマンド
OSリソースの制限を行う(設定を確認する)
■よく使う形(例)
※プロセスに割り当てられるリソースの上限値(制限)を表示する。
# ulimit -a
core file size | (blocks, -c) | 0 |
data seg size | (kbytes, -d) | unlimited |
max nice | (-e) | 0 |
file size | (blocks, -f) | unlimited |
pending signals | (-i) | unlimited |
max locked memory | (kbytes, -l) | unlimited |
max memory siz | (kbytes, -m) | unlimited |
open files | (-n) | 1024 |
pipe size | (512 bytes, -p) | 8 |
POSIX message queues | (bytes, -q) | unlimited |
max rt priority | (-r) | 0 |
stack size | (kbytes, -s) | 8192 |
cpu time | (seconds, -t) | unlimited |
max user processes | (-u) | unlimited |
virtual memory | (kbytes, -v) | unlimited |
file locks | (-x) | unlimited |
※ユーザーが利用できる最大プロセス数を1024に制限する。
# ulimit -u 1024max user processes | (-u) | 1024 |
ulimitコマンドは、ユーザープロセスに対してのリソース利用制限を設定させることができます。
OSのデフォルトではあまり制限されているものではありませんが、「多くのユーザーがログインする」とか、「大規模なBINDを運営する」といったときなど、リソース制限を的確に設定する必要が生じます。
なお、ulimitコマンドはBシェル系で使うコマンドです。 Cシェルではlimitコマンドを使いますが、使い方はほも同じです。
■主なオプション
オプション | 機能説明 |
---|---|
-a | 全項目を表示する |
-c | 作成できるコアファイルのサイズ(ブロック)上限 |
-d | プロセスのデータセグメントのサイズ |
-f | 1つのファイルの大きさ(ブロック)上限値 |
-l | プロセスが mlock()関数を使用して、プロセスをメモリにロックできる最大サイズ |
-m | プロセスが使用できるメモリ使用量(KB) |
-n | ユーザがオープンできるファイルの上限数 |
-p | パイプのサイズ |
-s | 自動的に拡張されるスタックのサイズ(KB)の上限値 |
-t | プロセスが CPU を使うことのできる時間(秒)の上限値 |
-u | 同時に実行可能なプロセス数の上限数 |
-v | 仮想メモリのサイズ |
-x | 作成可能なファイルロックの数 |