`

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 ulimited命令

    ### Linux ulimit 命令详解 #### 一、引言 `ulimit` 是一个在 Linux 和 Unix 系统中常用的命令行工具,用于控制和限制 shell 的资源使用量。通过 `ulimit`,用户可以对进程进行一系列资源限制,如最大文件大小、...

    功能说明:控制shell程序的资源。

    #### ulimit命令详解 `ulimit`作为Shell内置命令,主要用于控制用户在Shell环境下运行程序时所能够使用的系统资源限制。这对于避免资源过度消耗、保护系统稳定性有着重要作用。 #### 命令选项与参数 - **基本用法**...

    Linux命令详解手册

    Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...

    linux的最大进程句柄数设置

    使用 ulimit -n 命令可以查看单个进程能够打开的最大文件句柄数量。系统默认值 1024,对于一般的应用来说已经足够使用,但是对于需要处理大量请求的应用,可能会出现“too many files open”的错误提示。 要知道...

    bash shell 详解

    ulimit命令用于限制用户对系统资源的使用,比如可以打开的文件数量、CPU使用时间等。-H选项表示设置硬限制,-S选项设置软限制,通常软限制可以超过但会给出警告。-a选项可以列出所有的限制额度。 综上所述,Bash ...

    Unix常用监控和管理命令

    ### Unix常用监控和管理命令详解 #### 一、引言 在Unix系统中,为了确保系统的稳定运行和高效管理,掌握一系列常用的监控与管理命令至关重要。这些命令可以帮助系统管理员了解系统的实时状态,诊断问题,并进行...

    linux的一些命令解释

    ### Linux命令详解与应用场景 #### 一、PATH设置与环境变量管理 **1. 修改PATH环境变量** - **操作步骤**: - 编辑`/etc/profile`文件,在文件末尾添加以下行:`export PATH=/new/path1:/new/path2:$PATH` - ...

    Too many open files 问题的解决.txt

    2. **ulimit命令**:用于查看和设置shell启动的进程所受到的资源限制,其中`-n`选项用于控制最大可打开文件数。 3. **系统级与进程级限制**: - **系统级限制**由`/proc/sys/fs/file-max`文件定义,表示整个系统能...

    gdb调试详解 讲述如何使用gdb调试以及调试core dump

    要生成Core Dump文件,需要在程序崩溃后执行`ulimit –c unlimited`命令,设置Core Dump文件的大小。同时,需要在编译程序时添加`-g`选项,并把优化选项等级设为最低(-O0,默认为-O2)。 通过GDB和Core Dump文件,...

    最新整理Linux操作系统的进程管理详解.doc

    在Linux中,进程的状态管理还包括调度策略、优先级调整、资源限制等方面,比如nice值和renice命令可以改变进程的执行优先级,而ulimit命令可以设置进程资源限制,如最大文件描述符数量等。 总的来说,理解并熟练...

    elasticsearch安装包及安装详解

    在本例中,提供的压缩包文件名为“EK安装包与详解”,这通常表示包含Elasticsearch的tar.gz格式文件以及可能的相关安装指南或说明文档。你可以通过访问Elasticsearch官方网站或者从已提供的压缩包中获取Elastic...

    solaris常用命令

    ### Solaris常用命令详解 #### 查看系统信息 - **`#psrinfo -v`**:此命令用于查看系统的处理器信息。`-v`选项提供了更为详细的处理器细节。 - **`#mpstat`**:通过这个命令可以监控多处理器系统的活动,了解CPU...

    Linux系统性能测试

    `ulimit`命令允许用户设置资源限制,如最大打开文件数、最大堆栈大小等,这对于控制资源消耗很重要。 ##### **12. mpstat 命令** `mpstat`命令用于显示多处理器系统的CPU利用率,特别是在SMP系统中。 #### 三、...

    Can't create TCP/IP socket(24).原因及解决办法

    1. "ulimit显示open file能进程能打开的文件数默认是1024.txt":ulimit命令用于设置和查看进程资源限制,其中包括最大打开文件数。默认情况下,许多Linux发行版限制一个进程最多可以打开1024个文件。 2. "errno 24 ...

    AIX关于Weblogic的报错_Too_many_open_files_的处理

    - 使用`ulimit -n <value>`命令来暂时增加可打开文件的数量。例如:`ulimit -n 32768`。 - 这种方式只在当前终端会话中有效,重启后需要重新设置。 - **永久性修改**: - 修改`/etc/security/limits`文件中的`no...

    linux中高并发socket最大连接数的优化详解

    在Linux系统中,每个进程都有自己的资源限制,这些限制可以通过`ulimit`命令查看。具体到Socket连接数的限制,主要关注以下两个方面: 1. **单个进程打开的最大文件数** (`openfiles`) —— 表示一个进程可以打开的...

    redhat5安装oracle11g详解

    最后,启动Oracle服务,检查数据库是否正常运行,如使用`sqlplus`命令连接数据库并执行简单的查询。这样,你就成功地在Redhat 5上安装了Oracle 11g数据库。记住,安装过程中遇到任何问题,都可以查阅官方文档或在线...

    linux 句柄

    - `ulimit`命令用于设置或报告进程的资源限制。 - 示例:`ulimit -HSn 4096` - 这个命令将最大文件描述符数量限制为4096,其中`-H`表示硬限制,`-S`表示软限制,`-n`表示最大文件描述符数量。 - 修改这些设置...

Global site tag (gtag.js) - Google Analytics