当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。