よく使うLinuxコマンド

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 1024
max 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 作成可能なファイルロックの数
その他、オプションは多数ありますが、専門のコマンドリファレンスやmanコマンド等でご確認下さい。