getrlimit(resource) -> [Integer][permalink][rdoc][edit]-
カレントプロセスでのリソースの制限値を、整数の配列として返します。返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の配列 [cur_limit, max_limit] です。
それぞれの limit が Process::RLIM_INFINITY と等しい場合、リソースに制限がないことを意味します。
- [PARAM]
resource: - リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。
- [EXCEPTION]
Errno::EXXX: - リソースの制限値の取得が失敗した場合に発生します。
- [EXCEPTION]
NotImplementedError: - メソッドが現在のプラットフォームで実装されていない場合に発生します。
引数 resource で有効な定数は以下のとおりです。
Process::RLIMIT_CORE-
core ファイルのサイズ (バイト) (SUSv3)
Process::RLIMIT_CPU-
プロセスの CPU 時間 (秒) (SUSv3)
Process::RLIMIT_DATA-
プロセスのデータ領域のサイズ (バイト) (SUSv3)
Process::RLIMIT_FSIZE-
プロセスが生成するファイルのサイズ (バイト) (SUSv3)
Process::RLIMIT_NOFILE-
プロセスがオープンできるファイルの数 (SUSv3)
Process::RLIMIT_STACK-
プロセスのスタック領域のサイズ (バイト) (SUSv3)
Process::RLIMIT_AS-
プロセスの仮想メモリサイズ (バイト) (SUSv3, NetBSD, FreeBSD, OpenBSD but 4.4BSD-Lite))
Process::RLIMIT_MEMLOCK-
mlock(2) でロックできるトータルのサイズ (バイト) (4.4BSD, GNU/Linux)
Process::RLIMIT_NPROC-
そのユーザのプロセスの最大数 (4.4BSD, GNU/Linux)
Process::RLIMIT_RSS-
使用できる実メモリの最大サイズ (バイト) (4.2BSD, GNU/Linux)
Process::RLIMIT_SBSIZE-
ソケットバッファのサイズ (バイト) (NetBSD, FreeBSD)
include Process p lim = getrlimit(RLIMIT_STACK) #=> [8388608, 18446744073709551615] p lim.map{|i| i == RLIM_INFINITY ? "unlimited" : "#{i/(1024**2)}MB" } #=> ["8MB", "unlimited"][SEE_ALSO] Process.#setrlimit, getrlimit(2)
- [PARAM]