【Linuxエンジニア必見】ulimit -aコマンド リソースの制限を表示する

ulimitコマンド

【ulimit】コマンド

説明:設定されているリソースの制限を表示する
構文:ulimit [オプション]
オプション:
-a 全ての制限の表示
-c コアファイルのサイズ
-d プロセスのデータセグメントのサイズ
-f ファイルサイズ
-m 使用可能な最大メモリ容量
-n アクセス可能な最大ファイル数
-p パイプサイズ
-s プロセスのスタッグセグメント
-t プロセスのCPUタイム
-u 使用可能な最大プロセス数
-v 仮想メモリ

※ulimitコマンドでハードリミットを設定する場合は -Hオプションを使います。
 ソフトリミットを設定する場合は-Sオプションを使います。
 どちらのオプションも指定しない場合は、両方に制限がかかります。
 また、ソフトリミットを設定する場合、ハードリミットの範囲内での設定となります。




【ulimit】コマンドの解説

Linuxはシェルを実行するプログラムがシステムリソースをどの位使えるか?の制限を設けています。
この制限は、ulimitコマンドにオプションの-aを指定して実行する事により確認出来ます。
制限しているシステムリソースの項目は複数あり、これらの項目を見る事でシェルの制限等を知る事が出来ます。

■システムリソースの制限項目
①core file size
coreファイルのサイズ
②data seg size
データセグメントのサイズ
③file size
1ファイルあたりのサイズ
④max locked memory
ロック出来る最大メモリサイズ
⑤max memory size
利用できる最大メモリサイズ
⑥open files
オープンできるファイル数
⑦pipe size
利用できるパイプのサイズ
⑧stack size
利用できるスタックのサイズ
⑨cpu time
利用できるCPUタイム






【ulimit】コマンドの実行例

①ulimitコマンドに-aオプションをつけて実行する

[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3790
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3790
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#

——————————————————————

②ファイルサイズを制限する

[root@localhost ~]# ulimit -f 10
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 10   ← 8から10に変わりました
pending signals (-i) 3790
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3790
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#

——————————————————————

③メモリサイズを制限する

[root@localhost ~]# ulimit -m 300000
メールが /var/spool/mail/root にあります
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 10
pending signals (-i) 3790
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) 300000  ← unlimitedから300000に変わりました
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3790
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#

——————————————————————

④プロセスのCPUタイムを制限する

[root@localhost ~]# ulimit -t 200
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 10
pending signals (-i) 3790
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) 300000
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) 200   ← unlimitedから200に変わりました
max user processes (-u) 3790
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@localhost ~]#

——————————————————————

⑤仮想メモリの使用量を制限する

[root@localhost ~]# ulimit -v 200000
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 10
pending signals (-i) 3790
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) 300000
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) 200
max user processes (-u) 3790
virtual memory (kbytes, -v) 200000   ← unlimitedから200000に変わりました。
file locks (-x) unlimited
[root@localhost ~]#



Related posts

Leave a Comment