您的位置首页>企业动态>

Linux中的ulimit命令详解

导读 大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux中的ulimit命令详解问题。1 命令简介Ulimit是Shell的内置命令,用于查看或设置

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux中的ulimit命令详解问题。

1.命令简介

Ulimit是Shell的内置命令,用于查看或设置Shell使用的系统资源上限以及通过Shell启动的进程。限额分为软限额(限流)和硬限额,其中硬限额是软限额的上限。如果应用程序在运行过程中使用的系统资源超过相应的软限制,该过程将被终止。

由于系统资源有限,如打开文件描述符的数量、进程堆栈的大小、CPU时间、虚拟内存大小等。操作系统对每个进程都有严格的限制。资源的合理限制和分配不仅是保证系统可用性的必要条件,而且与过程性能密切相关。这时,ulimit可以发挥很大的作用,它是实现资源限制的一种简单有效的方法。

2.命令格式

ulimit[-hstabcdefimnpqrstuvx[limit]]

其中,limit是对指定类型资源的具体限制,参数S表示设置软限制,h表示设置硬限制,未指定时,表示同时设置软限制和硬限制。

3.选项描述

-H设置资源的硬限制,只有根用户可以操作-S设置资源的软限制-a显示目前所有资源设置的限制bsocket缓冲区最大值、unit -c核心文件最大值、blocks -d进程数据段最大值、KB -e调度优先级上限,其中优先级指NICE值。仅对普通用户进程有效-f当前Shell可以创建的文件总大小的上限,阻塞的最大信号数-i可以被挂起/阻塞-l可以被锁定的物理内存的最大值,可以在KB -m中使用的内存驻留的最大值,在KB -n中每个进程可以同时打开的最大文件数-P管道的最大值, block,1=512字节qpositix消息队列的最大值-r限制程序的实时优先级,该优先级仅对普通用户进程有效-S进程栈的最大值,以KB -t为单位的最大CPU时间,s -u用户可以启动的最大进程数-当前Shell可用的最大虚拟内存,KB -x文件锁的最大数量-t线程的最大数量。

4.常见的例子

(1)检查现有系统资源限制。

ulimit -a核心文件大小(块,-c)无限数据seg大小(千字节,-d)无限调度优先级(-e) 0文件大小(块,-f)无限挂起信号(-i) 255112最大锁定内存(千字节,-l) 64最大内存大小(千字节,-m)无限打开文件(-n) 65536管道大小(512字节,-p) 8 POSIX消息队列(字节,-q) 819200实时优先级(-r) 0堆栈大小(千字节,-s) 8192

(2)当控制过程中出现分段错误时,会生成一个核心转储文件。

ulimit -c无限制

(3)设置过程的堆栈大小没有限制。

ulimit -s无限制

原标题:每天一个Linux命令(74): ulimit命令

来源:【微信微信官方账号:Linux爱好者】欢迎添加关注!请注明文章来源。

编辑:法律援助会

1.命令简介

Ulimit是Shell的内置命令,用于查看或设置Shell使用的系统资源上限以及通过Shell启动的进程。限额分为软限额(限流)和硬限额,其中硬限额是软限额的上限。如果应用程序在运行过程中使用的系统资源超过相应的软限制,该过程将被终止。

由于系统资源有限,如打开文件描述符的数量、进程堆栈的大小、CPU时间、虚拟内存大小等。操作系统对每个进程都有严格的限制。资源的合理限制和分配不仅是保证系统可用性的必要条件,而且与过程性能密切相关。这时,ulimit可以发挥很大的作用,它是实现资源限制的一种简单有效的方法。

2.命令格式

ulimit[-hstabcdefimnpqrstuvx[limit]]

其中,limit是对指定类型资源的具体限制,参数S表示设置软限制,h表示设置硬限制,未指定时,表示同时设置软限制和硬限制。

3.

选项说明

-H 设定资源的硬限制,只有 root 用户可以操作 -S 设置资源的软限制 -a 显示目前所有资源设定的限制 -b socket 缓冲的最大值,单位 -c core 文件的最大值,单位 blocks -d 进程数据段的最大值,单位 KB -e 调度优先级上限,这里的优先级指 NICE 值。只针对普通用户进程有效 -f 当前 Shell 可创建文件总大小的上限,单位 blocks -i 被挂起/阻塞的最大信号数量 -l 可以锁住的物理内存的最大值,单位 KB -m 可以使用的常驻内存的最大值,单位 KB -n 每个进程可以同时打开的最大文件数 -p 管道的最大值,单位 block,1 block = 512 bytes -q POSIX 消息队列的最大值 -r 限制程序实时优先级,只针对普通用户进程有效 -s 进程栈最大值,单位 KB -t 最大 CPU 时间,单位 s -u 用户最多可启动的进程数目 -v 当前 Shell 可使用的最大虚拟内存,单位 KB -x 文件锁的最大数量 -T 线程的最大数量

4.常用示例

(1)查看现有系统资源限制。

ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 255112 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65536 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited

(2)控制进程发生段错误(Segmentation Fault)时生成 coredump 文件。

ulimit -c unlimited

(3)设置进程的栈大小没有限制。

ulimit -s unlimited

原文标题:每天一个 Linux 命令(74):ulimit 命令

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

.dfma { position: relative; width: 1000px; margin: 0 auto; } .dfma a::after { position: absolute; left: 0; bottom: 0; width: 30px; line-height: 1.4; text-align: center; background-color: rgba(0, 0, 0, .5); color: #fff; font-size: 12px; content:"广告"; } .dfma img { display: block; }
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。