㈠、何为ulimit

ulimit为shell内建指令,可用来控制shell执行程序的资源

㈡、ulimitl默认值是多少

[root@mttx ~]# 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) 8064
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 8064
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

㈢、为何要修改ulimit

对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,
最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024,有时候会遇上Socket/File: Can’t open so many files或too many open files的问题.

㈣怎么修改ulimit

1在/etc/rc.local中增加
ulimit -SHn 65535

2在/etc/profile中增加
ulimit -SHb 65535

然后source /etc/profile让参数即时生效

3在/etc/security/limits.conf 中增加

*     soft   nproc           65535
*     hard   nproc           65535
*     soft   nofile          65535
*     hard   nofile          65535

说明:* 代表针对所有用户,nproc是代表最大进程数,nofile 是代表最大文件打开数.修改了limits.conf文件之后,要让它立即生效,只需关闭当前session,重新连接即可

㈤、扩展阅读:

在Linux下面部署应用的时候,,其实Linux是有文件句柄限制的,而且默认不是很高,一般都是1024,作为一台生产服务器,其实很容易就达到这个数量,因此我们需 要把这个值改大一些。

这里,有很多ulimit的文章都说的很含糊,究竟这个1024 是系统的限制,还是用户的限制呢。其实,这个是用户限制来的,完整的说法,应该是当前用户准备要运行的程序的限制。

1、这个限制是针对单个程序的限制
2、这个限制不会改变之前已经运行了 的程序的限制
3、对这个值的修改,退出了当前的 shell就会消失

比如说,我先运行了一个程序A,然后 通过ulimit修改了限制为 2048,然后运行B,然后退出了shell再登录,然后运行C。那就只有B可以打开2048个句柄。

其中一个方法,是想ulimit修改命令放入/etc/profile 里面,但是这个做法并不好

正确的做法,应该是修改/etc /security/limits.conf

那系统总限制呢

其实是在这里,/proc/sys /fs/file-max
可以通过cat查看目前的 值,echo来立刻修改

另外还有一个,/proc/sys /fs/file-nr
只读,可以看到整个系统目前使用的文 件句柄数量

查找文件句柄问题的时候,还有一个很 实用的程序lsof
可以很方便看到某个进程开了那些句柄
也可以看到某个文件/目录被什么进程 占用了

如果你使用squid的话,你要在/etc/init.d/squid的文件加入ulimit -HSn 65535.另外,在squid.conf中也要加入max_filedesc 16384

注:上面这种方式只是改变了用户登陆系统后的文件打开数,对于/etc/init.d/nginxphp这种的启动脚本并不起作用,像这种启动脚本,需要在脚本内加一行:

ulimit -HSn 65535

才行。

本文转自itwork 51CTO博客,原文链接:http://blog.51cto.com/369369/672811,如需转载请自行联系原作者

linux ulimit知识相关推荐

  1. Linux基础知识题解答(一)

    题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 计 ...

  2. Linux基础知识梳理

    Linux基础知识梳理 Linux系统的学习的方法: 1. 做一个属于自己的笔记. 2. 学习方法:实验多敲几遍, 服务器硬件 一般的服务器 刀片服务器 Linux操作系统最初是在1991年10月份由 ...

  3. Linux基础知识与命令

    目录 一.Shell 1.Shell定义 2.不同的Shell环境 二.Linux命令的分类 1.Shell与内部命令.外部命令 2.help命令可以查看内部命令 3.使用type命令来区分内外部命令 ...

  4. linux基础知识-链接列表

    linux基础知识-链接列表 1. 安装centos 7 1.1 Linux的初识 1.2 centOS 7安装教程 1.3 centOS 7配置ip和网络问题排查 1.4 PuTTY和Xshell远 ...

  5. 「薅」52图初探Linux通用知识

    噗..为啥不是面试题了,封面船去哪里了?要开好船,先回到我们的初心---Linux,这篇文章是Linux的超级基础且经常用到的内容,不多说,直接肝!可以直接拉到文末点个赞!当然,如果需要思维导图可编辑 ...

  6. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  7. linux ulimit命令 控制shell执行程序的资源

    Linux ulimit命令用于控制shell程序的资源. ulimit为shell内建指令,可用来控制shell执行程序的资源. 语法 ulimit [-aHS][-c <core文件上限&g ...

  8. linux基础知识复习

    @(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作 创建文件和目录 拷贝文件和目录 剪切文件和目录 删 ...

  9. linux 文件夹隐藏属性,Linux基础知识之文件隐藏属性

    这几天温习下Linux基础知识,基础里面较为薄弱的知识点我会在这里记录一下,以便回头查看 Linux下的文件除了权限属性,还有一些隐藏属性,必须使用lsattr来显示,如下所示: [[email pr ...

  10. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

最新文章

  1. 第一届大数据科学与工程国际会议最新、最热会议日程---中国贵阳 2016年5月25-26日...
  2. java 获取注解_java 注解annotation的使用,以及反射如何获取注解
  3. curl只能抓取页面的部分内容的原因
  4. 关于深度学习编译器,这些知识你需要了解一下
  5. php serialize参数,php serialize(),unserialize()
  6. 2d isometric 坐标变换
  7. 在线计算机励志文案,那些惊艳的励志文案,句句经典,值得点赞
  8. 局域网内帆软BI使用arcgis发布的wms服务
  9. element table相同数据行合并
  10. vue人力管理_springboot+vue微人事人力资源管理系统,前后台分离源码
  11. YTU OJ 2451: 股市风云
  12. 【ffmpeg】音频重采样
  13. 贼好用的Java工具类库,GitHub星标13k+,很是厉害!
  14. DELPHI中拖放的操作
  15. 美的空气能计算机故障维修,美的空气能故障代码,常见故障原因汇总,勿要错过...
  16. grafana+prometheus+node_exporter Window笔记
  17. JavaScript两大支柱-PART2:函数式编程
  18. for语句(循环结构)
  19. 领悟《信号与系统》之 非周期信号的傅里叶变换
  20. 30个值得推荐的数据可视化工具,赶紧收藏!

热门文章

  1. 巧用“搜索”解决自学编程遇到的难题
  2. 关于简历:怎样才叫熟悉/精通Linux?
  3. 【论文阅读】Abdominal multi-organ segmentation with organ-attention networks and statistical fusion
  4. c语言根据元素位置读取元素,jquery1.5.1中根据元素ID获取元素对象的代码
  5. 安卓开发 登录用户信息缓存_Firefox 将向用户警告被泄露的登录信息
  6. ElasticSearch相似性度量
  7. 中位数±四分位数表达_Python数据分析:强大字符串处理工具,正则表达式
  8. git二分法查找命令说明
  9. idea 导入maven项目
  10. 【网络流24题】No.4 魔术球问题 (二分+最小路径覆盖)