利用ulimit命令可以对资源的可用性进行控制。

-H选项和-S选项分别表示对给定资源的硬限制(hard limit)和软限制(soft limit)进行设置。

硬限制(hard limit)一旦被设置以后就不能被非root用户修改,软限制(soft limit)可以增长达到硬限制(hard limit)。

如果既没有指定-H选项也没有指定-S选项,那么硬限制(hard limit)和软限制(soft limit)都会被设置。

limit的值可以是一个数值,也可以是一些特定的值,比如:hardsoftunlimited,分别代表当前硬件限制、当前软件限制、不限制。

如果limit参数被省略,除非指定-H选项,否则资源当前的软限制(soft limit)将会被打印出来。

下面是ulimit命令的一些选项:

查看进程打开文件最大限制

  • cat /proc/sys/fs/file-max  查看系统级的最大限制
  • ulimit -n  查看用户级的限制(一般是1024,向阿里云华为云这种云主机一般是65535)

查看某个进程已经打开的文件数

修改限制

临时修改

ulimit -HSn 2048
或者使用
ulimit -n 2048 来修改,但是退出终端后又会变回原来未修改之前,只是临时生效

永久修改

vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
修改完成后,退出终端再次进入,查看是否生效ulimit -n

但上述的内容只是修改进程的最大openfile数,如果想要修改系统的最大打开数,则需要下面的方法;

修改:
echo 35942900 > /proc/sys/fs/file-max
检验:
cat /proc/sys/fs/file-max

但是上述也是临时修改,永久修改如下:

vim /etc/sysctl.conf
....
省略上面,在最后一行添加
fs.file-max=35942900
保存退出
使配置生效
sysctl -p
在此验证
退出终端后再次进入终端查看
cat /proc/sys/fs/file-max

/etc/security/limits.conf 文件格式如下:

limits.conf的格式如下:

<domain>                  <type>      <item>     <value>

username|@groupname       type        resource          limit

----------------------------------------------------------------------------

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

---------------------------------------------------------------------------

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的最大值不能超过hard的值。用 – 就表明同时设置了 soft 和 hard 的值。

---------------------------------------------------------------------------

resource:
    core – 限制内核文件的大小
    date – 最大数据大小
    fsize – 最大文件大小
    memlock – 最大锁定内存地址空间
    nofile – 打开文件的最大数目
    rss – 最大持久设置大小
    stack – 最大栈大小
    cpu – 以分钟为单位的最多 CPU 时间
    noproc – 进程的最大数目(系统的最大进程数)
    as – 地址空间限制
   maxlogins – 此用户允许登录的最大数目

要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。

查看 /etc/pam.d/login 文件中有:
   session required /lib/security/pam_limits.so

【Linux】系统打开文件最大数量限制(进程打开的最大文件句柄数设置)的更多相关文章

  1. Linux系统重要文件(二)

    Linux系统重要文件概述 一系统自动挂载文件 文件路径信息:/etc/fstab文件作用说明:实现存储设备自动挂载 [root@centos7 ~]# cat /etc/fstab # # /etc ...

  2. Linux系统中文件定位与查找

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令——find和locate,以及压缩打包的命令——compress, gzip,bzip2 ...

  3. Linux系统下文件压缩与打包命令

    Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...

  4. Linux系统重要文件

    Linux系统重要文件介绍与配置 一网卡配置文件 (一)网卡配置文件参数介绍 文件路径信息:/ec/sysconfig/network-scripts/ifcfg-eth0 文件作用说明:配置网卡地址 ...

  5. 实验二:Linux系统简单文件操作命令

    項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...

  6. Linux系统打开文件最大数量限制(进程打开的最大文件句柄数设置)

    ulimit  [-HSTabcdefilmnpqrstuvx  [limit]] 利用ulimit命令可以对资源的可用性进行控制. -H选项和-S选项分别表示对给定资源的硬限制(hard limit ...

  7. linux系统ubuntu中在命令行如何打开图形界面的文件夹

    用linux查看文件列表之类的受到命令行限制,还是不太方便的.在文件夹中打开的话,切换路径又没有linux终端快,于是,需要在命令行窗口中打开文件夹.如何做呢? 来到终端命令行中,cd切换你的路径,使 ...

  8. linux系统空间不足,不重启进程,清理僵尸文件。

    问题:通过lsof |grep delete命令可以看到状态为delete的进程文件占用了较多的空间,导致系统磁盘空间不足,而du 命令看到的磁盘空间占用没那么高. 得到僵尸文件名称:catalina ...

  9. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

随机推荐

  1. 三方登录微博url接口

    1.创建apps/oauth模块进行oauth认证 '''2.1 在apps文件夹下新建应用: oauth''' cd syl/apps python ../manage.py startapp oa ...

  2. QQ音乐PB级ClickHouse实时数据平台架构演进之路

    导语 | OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过Q ...

  3. 面试 03-DOM事件的总结

    03-DOM事件的总结 #前言 要学习事件的基础内容,请看先本人之前的基础文章: <04-JavaScript基础/27-事件对象Event> <04-JavaScript基础/28 ...

  4. [打基础]OI/ACM基本功&一些小功能的实现&一些错误(持续更新)

    基本功 前导0 如题,有时候需要把3输出成03这样子,可以调用 cout.width(x); ,x表示以几位,用 cout.fill(x); 来给出前导填充的内容,一般x以char的形式给出 例如可以 ...

  5. 七轮面试最终拿下阿里offer —— 十年经验之谈

    前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个"五年计划"截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了.但 ...

  6. Linux 修改权限,查看进程,结束进程 命令

    在linux终端先输入ll,可以看到bai如:-rwx-r--r-- (一共10个参数) 表示文件所属组和du用户的对应权限.zhi第一个跟dao参数属于管理员,跟chmod无关,先不管.2-4参数: ...

  7. SpringCloud 的版本问题 (深入)

    学过SpringCloud 的 同学 ,就应该知道,SpringCloud是一个生态 . Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目都维护着自己的发布版本号.Spri ...

  8. 【终极版】利用阿里云云解析API实现动态域名解析(ddns),搭建私有服务器【含可执行文件和源码】

    前言:懒人可以直接往下看,有代码和全部资源可以下载.此文章是先前文章的定时版,主要是添加了定时执行的功能,并且将代码中的配置项放置到了app.config文件中,方便不懂开发的朋友修改使用.未经许可请 ...

  9. easyui中连接按钮样式

    方法1. <a href="otherpage.php" class="easyui-linkbutton" data-options="ico ...

  10. MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果

    注:MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果: 如下所示: MySQL: select * from tableName where name li ...