linux的最大打开文件数限制修改方法

前言

本文主要给大家介绍了关于linux最大打开文件数限制修改的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

linux会为每个用户登录系统打开最大文件数都有限制, 这个限制通过 ulimit -n 可以看到, 一般是 1024 .

在一些并发或多线程情况下, 需要突破这个限制.

修改

第一步 编辑 /etc/security/limits.conf 并确保其包含下列行:

* soft nofile 65535
* hard nofile 65535

这里 * 表示所有用户, 但有的系统不认, 需要具体的用户名, 比如:

root soft nofile 65535
root hard nofile 65535

第二步 编辑 etc/pam.d/login , 确保有如下行:

session required pam_limits.so

第三步 退出终端重新登录.

验证

使用 ulimit -Hnulimit -Sn 命令可以分别查看当前进程用户的 hard 和 soft 的限制数.

或者当前用户启动某个程序后, 通过 cat /proc/<PID>/limits (pid是该进程的, 或者其随便一个子进程的pid)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 深入探讨linux下进程的最大线程数、进程最大数、进程打开的文件数

    =====最大线程数====linux 系统中单个进程的最大线程数有其最大的限制 PTHREAD_THREADS_MAX这个限制可以在 /usr/include/bits/local_lim.h 中查看对 linuxthreads 这个值一般是 1024,对于 nptl 则没有硬性的限制,仅仅受限于系统的资源这个系统的资源主要就是线程的 stack 所占用的内存,用 ulimit -s 可以查看默认的线程栈大小,一般情况下,这个值是 8M可以写一段简单的代码验证最多可以创建多少个线程 复制代码

  • linux的最大打开文件数限制修改方法

    前言 本文主要给大家介绍了关于linux最大打开文件数限制修改的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: linux会为每个用户登录系统打开最大文件数都有限制, 这个限制通过 ulimit -n 可以看到, 一般是 1024 . 在一些并发或多线程情况下, 需要突破这个限制. 修改 第一步 编辑 /etc/security/limits.conf 并确保其包含下列行: * soft nofile 65535 * hard nofile 65535 这里 * 表示所

  • 基于Linux中vnc配置端口号的修改方法

    vnc的默认端口是自己配置的,并不是这有一个端口号. 通过打开/etc/sysconfig/vncservers. 这里就配置了2个桌面,一个桌面号是1, 一个是2. 这里的配置的参数 VNCSERVERS="2:root" VNCSERVERARGS[2]="-geometry 1280x800" 就可以看出,这里就配置了2个桌面,一个桌面号是1, 一个是2.还有远程桌面的分辨率 想要修改vncserver的配置,先找配置文件路径 [root@jtsyb01 lo

  • Linux下忘记mysql密码该如何修改mysql密码

    初始密码为空,使用空密码登陆mysql执行下列语句 mysql>use mysql; mysql> UPDATE user SET password=PASSWORD("root") WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> quit; 修改/opt/lampp/phpmyadmin/config.inc.php 找到如下代码: $cfg['Servers'][$i]['auth_type'] = 'c

  • Linux下查看进程打开的文件句柄数和如何修改方法

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进程)1024完全足够使用.但是如何象squid.mysql.java等单进程处理大量请求的应用来说就有 点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到"too many files open"的错误提示.如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮

  • 浅析linux suse11忘记root密码修改方法

    SUSE Linux忘记root密码的处理方法 SUSE (Linux操作系统) SUSE(发音 /ˈsuːsə/)是指SUSE Linux ,是德国 SuSE Linux AG公司发行维护的Linux发行版,是属于此公司的注册商标.第一个版本出现在1994年年初.2004年这家公司被Novell公司收购. 1.重新启动机器,在出现grub引导界面后,按F2,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运

  • linux 进程数最大值修改方法

    实际的系统进程数上限收到3个配置项的影响: 1.threads-max (/proc/sys/kernel/threads_max) 这个值表示物理内存决定的系统进程数上限,fork_init中有: max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8 2.pid_max (/proc/sys/kernel/pid_max) 这个值表示进程ID的上限.为了兼容旧版,默认为32768(即两个字节). <code class="hljs ru

  • 详解Linux下调试器GDB的基本使用方法

    一.概述 GDB调试的三种方式: 1. 目标板直接使用GDB进行调试. 2. 目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端. 3. 目标板使用ulimit -c unlimited,生成core文件:然后主机使用xxx-linux-gdb ./test ./core. 二.gdb调试 构造测试程序如下main.c和sum.c如下: main.c:#include <stdio.h> #include <stdlib.h> extern int sum(

  • 克隆虚拟Linux后ip找不到的解决方法

    使用VMware虚拟机的的克隆功能,快速的复制带有各种配置的Linux系统.会发现复制后的虚拟系统没有eth0网卡. 如下所示: 解决方法: 1.编辑/etc/udev/rules.d/70-persistent-net.rules文件 并记住eth2的ATTR{address}的值 把NAME="eth0"的那行配置注释掉或者删掉,把NAME="eth1"的修改成NAME="eth0",修改后如下: 2.更改网卡配置文件,/etc/syscon

  • linux下查看系统进程占用的句柄数方法

    ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 131 24204 57 24244 57 24231 ........ 其中第一列是打开的句柄数,第二列是进程ID. 可以根据ID号来查看进程名. # ps aef|grep 24204 nginx 24204 24162 99 16:15 ? 00:24:25

  • Linux中在防火墙中开启80端口方法示例

    linux如果刚安装好防火墙时我们常用的端口是没有增加的,也就是说不能访问,那么要怎么把常用端口增加到防火墙通过状态呢,下面我们以80端口为例子吧. 最近自己在学习Linux.搭建一个LNMP环境.在测试时一切都好.然后重启Linux后.再次访问网站无法打开.最终原因是在防火墙中没有加入 80 端口的规则.具体方法如下: 在CentOS下配置iptables防火墙,是非常必要的.来我们学习如何配置!,其它版本一下: 1.打开iptables的配置文件: 代码如下 vi /etc/sysconfi

随机推荐