本文简要介绍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_limit
和 max_limit
可以是 :INFINITY
、 "INFINITY"
或 Process::RLIM_INFINITY
,这意味着资源不受限制。它们也可能是 Process::RLIM_SAVED_MAX
、 Process::RLIM_SAVED_CUR
以及相应的符号和字符串。有关详细信息,请参阅系统 setrlimit(2) 手册。
以下示例将核心大小的软限制提高到硬限制,以尝试使核心转储成为可能。
Process.setrlimit(:CORE, Process.getrlimit(:CORE)[1])
相关用法
- Ruby Process.setproctitle用法及代码示例
- Ruby Process.setpriority用法及代码示例
- Ruby Process.setsid用法及代码示例
- Ruby Process.spawn用法及代码示例
- Ruby Process.groups用法及代码示例
- Ruby Process.wait2用法及代码示例
- Ruby Process.getpgrp用法及代码示例
- Ruby Process.uid用法及代码示例
- Ruby Process.pid用法及代码示例
- Ruby Process.detach用法及代码示例
- Ruby Process.maxgroups用法及代码示例
- Ruby Process.clock_gettime用法及代码示例
- Ruby Process.exec用法及代码示例
- Ruby Process.groups=用法及代码示例
- Ruby Process.clock_getres用法及代码示例
- Ruby Process.getsid用法及代码示例
- Ruby Process.getpriority用法及代码示例
- Ruby Process.times用法及代码示例
- Ruby Process.getpgid用法及代码示例
- Ruby Process.euid用法及代码示例
- Ruby Process.exit用法及代码示例
- Ruby Process.kill用法及代码示例
- Ruby Process.initgroups用法及代码示例
- Ruby Process.egid用法及代码示例
- Ruby Process.last_status用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Process.setrlimit。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。