ulimitコマンド
概要
ulimit
とは、プロセスへの各種の制限を設定します。
...個人的にはあまりありがたみが感じられないのでちょこっとググってみたらこんな文章が。
プロセスがメモリやCPUタイム等を多く消費しないようにするために、ユーザごとに制限を 設定することができます。 (https://www.express.nec.co.jp/linux/distributions/knowledge/system/ulimit.html)
いわゆる昔のような今ほどメモリが大きくない頃には活用していたのでしょうか。
実行例
limit -a
上記のようにすると現在の設定を確認することができます。
私の環境では以下のような出力がされました。
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 256 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 1418 virtual memory (kbytes, -v) unlimited
出力されたものは変更ができます。例えばcoreファイルのサイズを制限したい時は、
ulimit -c 1024
このように指定します。...が、数値がブロックサイズであるとかなんとか、ちょっとよくわからなかったので宿題になりそうです。
2019/02/24追記 職場の先輩に聞いてみました→ブロックサイズについて尋ねてみた
まとめ
現在のプロセスの制限設定を確認する
ilimit -a
特定のプロセスの制限を設定する
ulimit [プロセスを示すオプション] [値]