`

ulimit 命令详解

 
阅读更多
1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
ulimit [-acdfHlmnpsStvw] [size]
4,参数介绍:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes 5,简单实例:
5.举例
在Linux下写程序的时候,如果程序比较大,经常会遇到“段错误”(segmentation fault)这样的问题,这主要就是由于Linux系统初始的堆栈大小(stack size)太小的缘故,一般为10M。我一般把stack size设置成256M,这样就没有段错误了!命令为:
ulimit   -s 262140
如果要系统自动记住这个配置,就编辑/etc/profile文件,在 “ulimit -S -c 0 > /dev/null 2>&1”行下,添加“ulimit   -s 262140”,保存重启系统就可以了!
1]在RH8的环境文件/etc/profile中,我们可以看到系统是如何配置ulimit的:#grep ulimit /etc/profile
ulimit -S -c 0 > /dev/null 2>&1
这条语句设置了对软件资源和对core文件大小的设置
2]如果我们想要对由shell创建的文件大小作些限制,如:
#ll h
-rw-r--r-- 1 lee lee 150062 7月 22 02:39 h
#ulimit -f 100 #设置创建文件的最大块(一块=512字节)
#cat h>newh
File size limit exceeded
#ll newh
-rw-r--r-- 1 lee lee 51200 11月 8 11:47 newh
文件h的大小是150062字节,而我们设定的创建文件的大小是512字节x100块=51200字节
当然系统就会根据你的设置生成了51200字节的newh文件.
3]可以像实例1]一样,把你要设置的ulimit放在/etc/profile这个环境文件中.用途
设置或报告用户资源极限。
语法
ulimit [ -H ] [ -S ] [ -a ] [ -c ] [ -d ] [ -f ] [ -m ] [ -n ] [ -s ] [ -t ] [ Limit ]
描述
ulimit 命令设置或报告用户进程资源极限,如 /etc/security/limits 文件所定义。文件包含以下缺省值极限:
fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000
当新用户添加到系统中时,这些值被作为缺省值使用。当向系统中添加用户时,以上值通过 mkuser 命令设置,或通过 chuser 命令更改。
极限分为软性或硬性。通过 ulimit 命令,用户可将软极限更改到硬极限的最大设置值。要更改资源硬极限,必须拥有 root 用户权限。
很多系统不包括以上一种或数种极限。 特定资源的极限在指定 Limit 参数时设定。Limit 参数的值可以是每个资源中指定单元中的数字,或者为值 unlimited。要将特定的 ulimit 设置为 unlimited,可使用词 unlimited。
     注:在 /etc/security/limits 文件中设置缺省极限就是设置了系统宽度极限, 而不仅仅是创建用户时用户所需的极限。
省略 Limit 参数时,将会打印出当前资源极限。除非用户指定 -H 标志,否则打印出软极限。当用户指定一个以上资源时,极限名称和单元在值之前打印。如果未给予选项,则假定带有了 -f 标志。
由于 ulimit 命令影响当前 shell 环境,所以它将作为 shell 常规内置命令提供。如果在独立的命令执行环境中调用该命令,则不影响调用者环境的文件大小极限。以下示例中正是这种情况:
nohup ulimit -f 10000
env ulimit 10000
一旦通过进程减少了硬极限,若无 root 特权则无法增加,即使返回到原值也不可能。
关于用户和系统资源极限的更多信息,请参见 AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 1 中的 getrlimit、setrlimit 或 vlimit 子例程。
标志
-a     列出所有当前资源极限。
-c     以 512 字节块为单位,指定核心转储的大小。
-d     以 K 字节为单位指定数据区域的大小。
-f     使用 Limit 参数时设定文件大小极限(以块计),或者在未指定参数时报告文件大小极限。缺省值为 -f 标志。
-H     指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限。
-m     以 K 字节为单位指定物理存储器的大小。
-n     指定一个进程可以拥有的文件描述符的数量的极限。
-s     以 K 字节为单位指定堆栈的大小。
-S     指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者。
-t     指定每个进程所使用的秒数。
退出状态
返回以下退出值:
0     成功完成。
>0     拒绝对更高的极限的请求,或发生错误。
示例
要将文件大小极限设置为 51,200 字节,输入:
ulimit -f 100
分享到:
评论

相关推荐

    Linux ulimit命令用法详解

    Linux ulimit命令 Linux ulimit命令用于控制shell程序的资源。 ulimit为shell内建指令,可用来控制shell执行程序的资源。 语法 ulimit [-aHS][-c ][-d ][-f ][-m ][-n ][-p ][-s ][-t ][-u ][-v ] 参数: -a 显示...

    linux_ulimit的使用

    linux_ulimit的使用 linux_ulimit的使用 linux_ulimit的使用

    ulimit命令 控制shell程序的资源

    ulimit为shell内建命令,可用来控制shell执行程序的资源。 语法格式:ulimit [参数] 常用参数: -a 显示目前资源限制的设定 -d 程序数据节区的最大值,单位为KB -t 指定CPU使用时间的上限,单位为秒 -...

    ansible-ulimit:有助于管理 ulimit 配置的角色

    有助于管理ulimit配置的角色。 例子 --- # Example of how to use the role - hosts: myhost vars: ulimit_config: - domain: '*' type: soft item: core value: 0 - domain: '*' type: hard item: rss ...

    Unix 命令全集

    ulimit 命令 umask 命令 umount 或 unmount 命令 umountall 命令 unalias 命令 uname 命令 uncompress 命令 undefvsd 命令 unexpand 命令 unfencevsd 命令 unget 命令(SCCS) unifdef 命令 uninstallms 命令 uniq ...

    ulimit nr_open 自动化配置脚本

    永久修改进程打开文件最大值限制自动化配置脚本,是linux服务器/阿里云新机器必修改选项,安装redis, kafka,elasticsearch等服务器必改

    verify-ulimit:验证当前 ulimit

    验证-ulimit 验证当前 ulimit。

    ulimit设置句柄数

    放到服务器上运行一段时间抛出Toomanyopenfiles的异常。...放到服务器上运行一段时间抛出Toomanyopenfiles的异常。  异常信息简单的信息如下:  I/Oexception(java.net.SocketException)caughtwhenprocessingrequest:...

    并发时-修改Linux系统下的大文件描述符限制

    通常我们通过终端连接到linux系统后执行ulimit -n 命令可以看到本次登录的session其文件描述符的限制,如下:  $ulimit -n  1024  当然可以通过ulimit -SHn 102400 命令来修改该限制,但这个变更只对当前的...

    marmot-cn#readingNotes#设置linux打开文件句柄:proc:sys:fs:file-max和ulimit

    设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是

    增加系统的最大打开文件数

    ulimit -n 这个数字说明了一个普通用户能够在一个单独会话中所能打开最大的文件数目。注意。如果是root,以下操作不能使ulimit -n的输出增加。因为用户root用户不受这个ulimit限制。只有普通用户才会受这个限制。

    elasticbeanstalk-docker-ulimit-example:更新 ulimit 设置的示例 Elastic Beanstalk Docker 项目

    elasticbeanstalk-docker-ulimit-example 使用以下 ebextensions 配置更新 ulimit 设置的示例 Elastic Beanstalk Docker 项目: files: "/etc/security/limits.conf": mode: "00644" owner: "root" group: ...

    Lancger#opslinux#file-max与ulimit的关系与差别1

    /proc/sys/fs/file-nr 当前kernel的句柄The value in file-max denotes the maximum number

    alpine下配置docker环境

    本文档详细介绍了虚拟机环境下安装alpine linux,同时在alpine里安装docker环境,不是单纯的配置docker下的alpine容器

    AIX系统的运行性能优化及应用研究

    AIX系统的运行性能优化及应用研究

    Wrk压力测试脚本--对ONU及路由等通信产品

    注意:在Linux终端下使用ulimit -a查看下一个文件并发数,默认是600,需通过 ulimit -n 60000修改后在允许脚本 在ONU或路由上行创建一个 WEB服务器,尽量使局域网内存的用户访问的网址的大小大一点,效果容易出现; ...

    Tsung负载测试tigase

    tsung是一个非常好用的压力测试软件,基于erlang语言,支持多种...在Ubuntu上装好tsung之后,首先要用ulimit修改系统支持的最大fd数量(ulimit-n 20480),否则tsung最多只能创建不到1024个连接,测试脚本是一个xml文件

    Hadoop集群(第12期副刊)_Hbase性能优化

    Linux系统最大可打开文件数一般默认的参数值是1024,如果你不进行修改并发量上来的时候会出现“Too Many Open Files”的错误,导致整个HBase不可运行,你可以用ulimit -n 命令进行修改,或者修改/etc/security/...

    nginx 10w并发优化项

    一个nginx进程打开的最多文件数目,理论值应该是最多打开文件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。假如设置10240,总并发量达到3-4万时就有...

    Linux命令大全(CHM格式离线版)

    ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice...

Global site tag (gtag.js) - Google Analytics