Ruby 3.1 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Processモジュール > getrlimit
getrlimit(resource) -> [Integer]
[permalink][rdoc]カレントプロセスでのリソースの制限値を、整数の配列として返します。返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の配列 [cur_limit, max_limit] です。
それぞれの limit が Process::RLIM_INFINITY と等しい場合、リソースに制限がないことを意味します。
引数 resource で有効な定数は以下のとおりです。
core ファイルのサイズ (バイト) (SUSv3)
プロセスの CPU 時間 (秒) (SUSv3)
プロセスのデータ領域のサイズ (バイト) (SUSv3)
プロセスが生成するファイルのサイズ (バイト) (SUSv3)
プロセスがオープンできるファイルの数 (SUSv3)
プロセスのスタック領域のサイズ (バイト) (SUSv3)
プロセスの仮想メモリサイズ (バイト) (SUSv3, NetBSD, FreeBSD, OpenBSD but 4.4BSD-Lite))
mlock(2) でロックできるトータルのサイズ (バイト) (4.4BSD, GNU/Linux)
そのユーザのプロセスの最大数 (4.4BSD, GNU/Linux)
使用できる実メモリの最大サイズ (バイト) (4.2BSD, GNU/Linux)
ソケットバッファのサイズ (バイト) (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)