當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Process.setrlimit用法及代碼示例


本文簡要介紹ruby語言中 Process.setrlimit 的用法。

用法

setrlimit(resource, cur_limit, max_limit) → nil
setrlimit(resource, cur_limit) → nil

設置進程的資源限製。 cur_limit 表示當前(軟)限製,max_limit 表示最大(硬)限製。

如果沒有給出max_limit,則使用cur_limit

resource 表示要限製的資源種類。它應該是諸如 :CORE 之類的符號、諸如 "CORE" 之類的字符串或諸如 Process::RLIMIT_CORE 之類的常量。可用資源取決於操作係統。 Ruby 可能支持以下資源。

AS

總可用內存(字節)(SUSv3、NetBSD、FreeBSD、OpenBSD 但 4.4BSD-Lite)

CORE

核心大小(字節)(SUSv3)

CPU

CPU 時間(秒)(SUSv3)

DATA

數據段(字節)(SUSv3)

FSIZE

文件大小(字節)(SUSv3)

MEMLOCK

mlock(2) 的總大小(字節)(4.4BSD,GNU/Linux)

MSGQUEUE

POSIX 消息隊列的分配(字節)(GNU/Linux)

NICE

進程的 nice(2) 值(數字)上限(GNU/Linux)

NOFILE

文件說明符(數量)(SUSv3)

NPROC

用戶的進程數 (number) (4.4BSD, GNU/Linux)

RSS

常駐內存大小(字節)(4.2BSD,GNU/Linux)

RTPRIO

進程的實時優先級上限(數字)(GNU/Linux)

RTTIME

實時進程的 CPU 時間(我們)(GNU/Linux)

SBSIZE

所有套接字緩衝區(字節)(NetBSD,FreeBSD)

SIGPENDING

允許的排隊信號數(信號)(GNU/Linux)

STACK

堆棧大小(字節)(SUSv3)

cur_limitmax_limit 可以是 :INFINITY"INFINITY" Process::RLIM_INFINITY ,這意味著資源不受限製。它們也可能是 Process::RLIM_SAVED_MAX Process::RLIM_SAVED_CUR 以及相應的符號和字符串。有關詳細信息,請參閱係統 setrlimit(2) 手冊。

以下示例將核心大小的軟限製提高到硬限製,以嘗試使核心轉儲成為可能。

Process.setrlimit(:CORE, Process.getrlimit(:CORE)[1])

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Process.setrlimit。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。