linux ulimit命令用法解析

   学习ulimit命令的用法。

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

  语  法:ulimit [-aHS][-c

  补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。

  参  数:

  代码如下:

  -a  显示目前资源限制的设定。

  -c

  -d <数据节区大小>  程序数据节区的最大值,单位为KB。

  -f <文件大小>  shell所能建立的最大文件,单位为区块。

  -H  设定资源的硬性限制,也就是管理员所设下的限制。

  -m <内存大小>  指定可使用内存的上限,单位为KB。

  -n <文件数目>  指定同一时间最多可开启的文件数。

  -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。

  -s <堆叠大小>  指定堆叠的上限,单位为KB。

  -S  设定资源的弹性限制。

  -t

  -u <程序数目>  用户最多可开启的程序数目。

  -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

  ulimit -a 用来显示当前的各种用户进程限制。

  Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数。

  例如,把某linux用户的最大进程数设为10000个:

  ulimit -u 10000

  对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,

  最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。

  ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024

  其他建议设置成无限制(unlimited)的一些重要设置是:

  复制代码

  代码如下:

  数据段长度:ulimit -d unlimited

  最大内存大小:ulimit -m unlimited

  堆栈大小:ulimit -s unlimited

  CPU 时间:ulimit -t unlimited

  虚拟内存:ulimit -v unlimited

  有时服务器需要调整ulimit的stack size 参数调整为unlimited 无限,使用ulimit -s unlimited时只能在当时的shell见效,重开一个shell则失效。

  解决方法:

  在/etc/profile 的最后面添加ulimit -s unlimited。

  然后:

  # source /etc/profile

  使修改即时生效。

  可能的问题:

  如果碰到类似的错误提示

  ulimit: max user processes: cannot modify limit: 不允许的操作

  ulimit: open files: cannot modify limit: 不允许的操作

  以上操作对root用户是不会提示这样的限制信息的,只对普通用户有影响,原因何在?

  大家可以去研究下文件:/etc/security/limits.conf。

  说明:

  linux对用户有默认的ulimit限制,而这个文件可以配置用户的硬配置和软配置,硬配置是个上限。

  超出上限的修改就会出“不允许的操作”这样的错误。

  可以在limits.conf文件最后添加相关内容,如下图:


  即限制任意用户的最大线程数和文件数为10240。

时间: 2024-09-29 18:42:01

linux ulimit命令用法解析的相关文章

linux mail命令用法

在Linux系统下mail命令的测试 1. 最简单的一个例子:  mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了.如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户.  2. 第二个例子:  三种常用格式发信 mail -s test admin@aispider.com #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后

Linux常用命令用法100个

  以下是100个用法,有什么不对,还请大家指正. 1,echo "aa" > test.txt 和 echo "bb" >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部 2,chmod go+w -R /home/zhangy //给组用户和其他用户添加写的权限 3,tar -tzvf test.tar.gz //列出归档内容 4,du -ah //查看文件列表大小 5,du -sh /

linux wget 命令用法详解(附实例说明)

来源:http://www.jb51.net/LINUXjishu/86326.html Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器.这样既浪费时间又浪费精力,那不没办法的事.而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步.wget工具体积小

Linux expect命令用法详解

随处可见的expect 第一次见expect这个命令还是我第一次参加全量上线的时候,那是公司的一个牛人用Shell脚本写的一套自动部署.MD5 比对.发布的全量上线工具,没事的时候,看了下其中的几个脚本,好多的expect命令.实在是看不懂这个expect命令的用法,所以就找时间总结了这篇关于expect命令的文章. 先抛出一个问题 现在有两台Linux主机A和B,如何从A主机ssh到B主机,然后在B主机上执行命令,如何使这个过程实现全程自动化?你可能会使用这种方法: ssh admin@10.

linux sudo命令用法介绍

1.sudo介绍 sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性.Sudo不是对shell的一个代替,它是面向每个命令的.它的特性主要有这样几点: sudo能够限制用户只在某台主机上运行某些命令. sudo提供了丰富的日志,详细地记录了每个用户干了什么.它能够将日志传到中心主机或者日志服务器. sudo使用时间戳文件--日志

linux tar命令用法详解

tar [-cxtzjvfpPN] 文件与目录 -. 范例: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩! [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc    <==打包后,以 gzip 压缩 [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc    <

Linux cut命令用法

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出. 如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数 -b :以字节

Linux ulimit命令详解 Linux ulimit命令怎么用

ulimit为shell内建指令,可用来控制shell执行程序的资源. 语法 ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>] [-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>] 参数: -a  显示目前资源限制的设定.

linux nslookup命令用法介绍

nslookup [IP 地址/域名] 示例: 在本机执行 nslookup 命令  代码如下 复制代码 Default Server: name.tlc.com.cn Address: 192.168.1.99 > 在符号" >" 后面输入要查询的IP 地址或域名并回车即可.如果要退出该命令,输入exit 并回车即可.