linux----ulimit 限制

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

ulimit -n 的数值表示每个进程可以打开的文件数目。

一般情况下, ulimit -n 的数值是1024.

当进程打开的文件数目超过此限制时,该进程就会退出。

因此,有些时候我们需要修改此限制。

如果我们只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000)。但是这个设置时暂时的保留!当我们退出bash后,该值恢复原值。

如果要永久修改ulimit,需要修改/etc/security/limits.conf。

vim /etc/security/limits.conf
     # 添加如下的行

* soft nofile 4100
    * hard nofile 4100

以下是说明:

* 代表针对所有用户

noproc 是代表最大进程数
nofile 是代表最大文件打开数

添加格式:

username|@groupname       type      resource       limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:
core - 限制内核文件的大小(kb)
date - 最大数据大小(kb)
fsize - 最大文件大小(kb)
memlock - 最大锁定内存地址空间(kb)
nofile - 打开文件的最大数目
rss - 最大持久设置大小(kb)
stack - 最大栈大小(kb)
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目

文件保存之后,需要重新登录一次才能生效,如果重新登录不行 就需要重启一下。

时间: 2024-08-25 17:40:05

linux----ulimit 限制的相关文章

LINUX ulimit命令

(本文来自:http://www.cnblogs.com/wangkangluo1/archive/2012/06/06/2537677.html) linux下默认是不产生core文件的,要用ulimit -c unlimited放开 概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生

linux ulimit 优化系统

㈠.何为ulimit ulimit为shell内建指令,可用来控制shell执行程序的资源 ㈡.ulimitl默认值是多少 [[email protected] ~]# ulimit -acore file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -

linux ulimit 调优

概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-max.特别是提供大量静态文件访问的web服务器,缓存服务器(如squid), 更要注意这个问题.网上的教程,都只是简单说明要如何设置ulimit和file-max, 但这两者之间的关系差别,并没有仔细说明. 说明:1. file-max的含义.man proc,可得到file-max的描述:/pro

Linux ulimit命令详解

ulimit 是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制 命令常用参数 -H 设置硬资源限制. -S 设置软资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbytes -m size:设置可以使用的常驻内存的最大值.单位:kbytes -n

Linux ulimit 命令

该命令用来限制系统用户对系统资源的使用,常见用法如下: 命令参数: -a # 显示当前所有的资源限制 -b -c # 限制core文件的大小,以 blocks 为单位,当程序崩溃时便会产生core文件,core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主要用于对程序进行调试.如 ulimit -c 4194304 表示限制core文件最大为2G -d # 限制进程的数据段的大小,以 Kbytes 为单位,也就是存放进程中已初始化的全局变量的一块内存区域的大小.如 ulimit -

mysql for linux 数据库的安装过程

mysql for linux 数据库的安装过程 l  安装版本:mysql-advanced-5.6.12-linux-glibc2.5-x86_64.tar.gz ,此版本是绿色版本,只需要将其解压到相关目录即可. PS:此安装方法为不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件 PS:Mysql下载地址:http://pan.baidu.com/s/1eQJhoLO 1.创建mysql用户/账号 [[email protected] ~]#  groupad

linux中的PIPE_SIZE与PIPE_BUF,管道最大写入值问题

现在开发的项目是从solaris到linux的应用移植.经常用到popen函数,使用8192字节的数组读取popen输出,但没有进行溢出判断. 刚开始认为是一个简单的内存越界,但对popen和PIPE调查以后,疑惑越来越多了. 1)问题的引出 popen使用管道来记录被调用命令的输出,那么popen的最大写入字节数必然是管道的最大值. 使用linux的ulimit -a来查看系统限制: [[email protected] linux]$ ulimit -a core file size (bl

测并发 Too many open files 问题的解决

ulimit -a 查看限制显示: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 23256 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open

聊聊JVM(一)相对全面的GC总结(转)

转至:http://blog.csdn.net/iter_zc/article/details/41746265 最近时间比较紧张,要写的东西也有很多,只能想到一点写一点.关于GC,网上的资料太多,之前对一个系统调优的时候又回顾了一下,找了几篇广泛流传的资料,大部分都是大同小异,这里总个总结,希望能够做个相对的全集,并写出一些新的点,比如Card Marking(卡片标记)等. 首先是大家都要提到的GC的基础算法:标记清除,标记整理,复制,分代.这些算法的第一步都是做的一件事: 标记(Mark)

Saltstack的grains组件(5)

grains是Saltstack最重要的组件,grains的作用是手机被控主机的基本信息,这些信息通畅都是一些静态类数据,比如cpu.内核.操作系统.虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对于不同的业务进行个性化设置,(初学时个人理解为:grains就是用来区分不同的minion进行不同的配置,salt '*' ,主要就是在'*' 里面进行匹配主机的作用) 1.grains常用操作命令 匹配内核版本为2.6.32-358.14.1.el6.x86_64的mini