精华内容
下载资源
问答
  • 二、查询1、查询某个进程已经开启的文件句柄lsof -p 进程pid | wc -l查看所有进程各自打开文件数lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more2、查看当前操作系统已经打开的文件总量cat /proc/sys...

    一、说明

    有的时候程序或者数据运行时会报too many open files,根本原因就是打开的文件超过了系统限制的数量。

    二、查询

    1、查询某个进程已经开启的文件句柄

    lsof -p 进程pid | wc -l

    查看所有进程各自打开的文件数

    lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more

    2、查看当前操作系统已经打开的文件总量

    cat /proc/sys/fs/file-nr

    注:第一个值是已开启的,第二个值是分配但未使用,第三个值是总限制数

    3、查看操作系统允许打开的文件总量限制

    cat /proc/sys/fs/file-max

    4、查看进程可以打开的文件数量限制

    ulimit -a

    注:open files指限制每个进程可以最大打开的文件数

    三、设置文件开启数量限制

    1、限制某个用户的

    vim /etc/security/limits.conf

    root soft nofile 65535

    root hard nofile 65535

    *soft nofile 65535

    *hard nofile 65535

    注:第一行指root用户的每个进程可开启最大的文件数(软限制,只警告)

    第二行指root用户的每个进程可开启最大的文件数(硬限制,无法开启多的文件了)

    第三、四行指所有用户的。

    设定的值不能超过/proc/sys/fs/nr_open里的值,完全够用了。

    2、限制系统文件开启最大数

    vim /etc/sysctl.conf

    fs.file-max = 6815744

    执行生效:sysctl -p

    展开全文
  • linux系统最大打开文件数设置

    万次阅读 2019-02-15 16:02:02
    因此,本文从进程本身和系统上说明如何更改linux最大文件数的限制! 1.首先通过命令ulimit -a查看当前进程可以打开的最大文件数,如下图所示,显示是1024 2.另外还可以通过命令ulimit -n 直接查看当前进程可以打开...

    linux系统对文件打开的数量有最大的限制,它通常设置为1024,这个数值很容易会达到,从而造成系统程序或者系统的瓶颈。因此,本文从进程本身和系统上说明如何更改linux最大文件数的限制!

    1.首先通过命令ulimit -a查看当前进程可以打开的最大文件数,如下图所示,显示是1024
    在这里插入图片描述
    2.另外还可以通过命令ulimit -n 直接查看当前进程可以打开文件的最大数量
    在这里插入图片描述
    3.上面两个命令是查看当前进程最大文件数,而系统也有最大文件数,它指的是所有进程可以打开的文件数量,如下图所示的命令可以查看当前系统的最大文件数
    在这里插入图片描述
    4.说明如何查看文件数量限制之后,接下来就说明如何更改最大文件数,通过命令ulimit -a 65535可以进行更改
    在这里插入图片描述
    5.通过命令ulimit -n 65535只对当前进程生效,如下图所示,退出shell进程,再进入查看最大文件数变成原来的值1024
    在这里插入图片描述
    6.如果想要永久生效,可以通过输入下图所示的两条命令来达到更改最大文件数永久生效的目的
    在这里插入图片描述
    7.通过下图看,退出shell进程,重新查看最大文件数,已经是更改的值65535,说明永久生效的命令是正确的!
    在这里插入图片描述
    8.上面更改最大文件数的命令只针对进程而言,如果想要更改整个系统的最大文件数,那么通过下图红色方框的命令可以进行更改
    在这里插入图片描述
    9.同样上面更改系统最大文件数的命令只是临时生效,当退出进程就会失效,因此,如果想要永久生效,通过在文件/etc/sysctl.conf添加下图红色方框标示的命令就可以永久生效!
    在这里插入图片描述

    展开全文
  • 前言本文主要给大家介绍了关于linux最大打开文件数限制修改的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:linux会为每个用户登录系统打开最大文件数都有限制, 这个限制通过ulimit -n ...

    前言

    本文主要给大家介绍了关于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 -Hn 和 ulimit -Sn 命令可以分别查看当前进程用户的 hard 和 soft 的限制数.

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

    总结

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

    展开全文
  • linux打开文件数测试

    2018-10-16 09:29:00
    /proc/sys/kernel/threads-max 系统最大线程数量 /proc/sys/vm/max_map_count 限制一个进程可以拥有的VMA(虚拟内存区域)的数量 /proc/sys/kernel/pid_max 系统最大进程数量   默认情况下,执行ulimit -a,...
    /proc/sys/kernel/threads-max 系统最大线程数量
    /proc/sys/vm/max_map_count 限制一个进程可以拥有的VMA(虚拟内存区域)的数量
    /proc/sys/kernel/pid_max 系统最大进程数量
    

      

    默认情况下,执行ulimit -a,可以看到 
    open files                      (-n) 1024 
    我们如何来验证这个1024的真实性呢? 
    写了个简单的测试程序分享如下: 
    1、先创建文件数量100000个,用shell 

    mkdir ./filedir
    i=0
    while [ $i -lt 100000 ] ;
    do
            touch ./filedir/f_$i
            o_file=./filedir/f_$i
            echo "$o_file"
            echo "file$i" > ./filedir/f_$i
            i=$(($i+1))
            #echo $i
    done
    

    该程序创建filedir目录下名为f_i的文件,i为文件编号,执行该程序,可以在filedir下生成f_0—f_100000的文件 
    下面我们写个c程序来测试到底我们在默认情况下可否同时打开这100000个文件,代码如下:   

    ~]$ cat test_openfiles.c 
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    #define MAX_FILES 100000
    int main()
    {
            int i = 0;
            int fd;
            char a[8];
            int count = 0;
    
            for (i = 0; i < MAX_FILES; i++) {
                    char buf[24] = "./filedir/f_";
                    sprintf(a, "%d", i);
                    strcat(buf, a);
                    printf("file_name:%s\n", buf);
                    fd = open(buf, O_RDWR);
                    if (fd != -1) {
                            count++;
                            printf("==fd:%d==\n", fd);
                            printf("Opened %d files\n", count);
                    } else {
                            printf("Error, can only open %d files\n", count);
                            return 0;
                    }
            }
            return 0;
    }

    编译这个c文件

    gcc test_openfiles.c

    会生成一个a.out的文件

    执行./a.out
    
    输出结果如下:
    ==fd:1020==
    Opened 1018 files
    file_name:./filedir/f_1018
    ==fd:1021==
    Opened 1019 files
    file_name:./filedir/f_1019
    ==fd:1022==
    Opened 1020 files
    file_name:./filedir/f_1020
    ==fd:1023==
    Opened 1021 files
    file_name:./filedir/f_1021
    Error, can only open 1021 files

    测试发现最大只能打开1021个文件

    调整最大打开文件数

    修改/etc/security/limits.conf ,在最后面添加如下:

    * - nofile  1048576

    重新登录终端生效

    [tuser@localhost ~]$ exit
    logout
    [root@localhost ~]# su - tuser
    Last login: Tue Oct 16 09:18:01 CST 2018 on pts/2
    [tuser@localhost ~]$ ulimit -n
    1048576

    再次执行./a.out文件

    file_name:./filedir/f_99995
    ==fd:99998==
    Opened 99996 files
    file_name:./filedir/f_99996
    ==fd:99999==
    Opened 99997 files
    file_name:./filedir/f_99997
    ==fd:100000==
    Opened 99998 files
    file_name:./filedir/f_99998
    ==fd:100001==
    Opened 99999 files
    file_name:./filedir/f_99999
    ==fd:100002==
    Opened 100000 files

     

    转载于:https://www.cnblogs.com/shansongxian/p/9796098.html

    展开全文
  • 个程序的限制2、这个限制不会改变之前已经运行了的程序的限制3、对这个值的修改,...如果我们需要改变整体的限制值,或者我们运行的程序是系统启动的,应该怎么处理呢其中一个方法,是想ulimit修改命令放入 /etc/pr...
  • linux 打开文件数 too many open files 解决方法too many open files出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。查看每个用户最大允许打开文件数量ulimit -a[plain] view plain copy在CODE...
  • 修改linux打开文件数

    2014-04-18 10:48:57
    有时候在程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。修改办法:重启就OK修改2个文件。1./etc/security/limits.confvi ...
  • linux 文件系统最大可打开文件数

    千次阅读 2010-09-16 14:36:00
    文件系统最大可打开文件数 [root@lxadmin nginx]# ulimit -n 1024 程序限制只能打开1024个文件 使用[root@lxadmin nginx]# ulimit -n 8192调整一下 或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾...
  • vim /etc/security/limits.conf 添加 ... 1、修改用户进程可打开文件数限制  在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单
  • 步骤 1修改/etc/security/limits.conf文件,在文件中添加两行# vi /etc/security/limits.conf 添加内容:speng soft nofile 10240 speng hard nofile 10240步骤 2修改/etc/pam.d/login文件,在文件中添加一行# vi /...
  • 步骤 1修改/etc/security/limits.conf文件,在文件中添加两行# vi /etc/security/limits.conf 添加内容:speng soft nofile 10240 speng hard nofile 10240步骤 2修改/etc/pam.d/login文件,在文件中添加一行# vi /...
  • 1、 修改目标我们的目标是:让Linux每一个用户登录系统系统打开的最大文件数都是我们设定好的。但我这里不得不说的是:非常遗憾,网上很多这方面关于ulimit设置修改资源限制的文章,但没一篇文章管用。把这个目标...
  • linux监控打开文件数

    2019-08-01 11:48:15
    Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个...
  • 1. 按照最大打开文件数量的需求设置系统,并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。  # cat /proc/sys/fs/file-max 如果设置值太小,修改文件/etc/sysctl.conf的变量到合适的...
  • linux打开文件数

    2012-09-26 19:33:00
    linux系统默认打开文件数是1024,这对服务器来说,数值太低了,经常报Too many open files这个错,所以要手动修改这个值。  1、使用ulimit -a可以查看目前服务器的资源限制情况:    其中的open file就是打开...
  • 默认最大文件打开数是 1024 vim /etc/security/limits.conf * soft nofile 204800 * hard nofile 204800 * soft nproc 204800 * hard nproc 204800 临时设置和查看 ulimit -n
  • 使用java socket来实现,在centos6.5系统上...linux和mac默认最大打开文件数256.上限是65535.在创建socket连接时,每个连接需要占用一个文件打开,所以256是远不能满足需求的。需要进行参数修改。另外,linux系统的最
  • Linux下一切都是文件,包括输入输出设备、网络连接、socket、管道等与文件打开数最相关的是文件描述符(有的人喜欢称作文件标识符,英文为file descriptor),文件打开数的实质就是文件描述符的数量文件打开数的多少取...
  • /proc/sys/fs/file-max该文件指定了可以分配的文件句柄的最大数目。查看最大值:[root@localhosthome]#...表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)100977个文件,是Linux系统级硬限制,所...
  •  LINUX默认的最大文件打开是1000(可能不同内核版本不一样),所以如果并发太多连接时就会报错。可通过下面几个步骤修改: 1. /etc/pam.d/login 添加 session required /lib/security/pam_limits.so 注意看...
  • 出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。查看每个用户最大允许打开的文件数量ulimit -a 其中 open files (-n) 1024 表示每个用户...查看某个进程的打开文件限制cat /proc/10446(pid)/l...
  • Linux 系统打开文件数和进程数有限制,默认限制为1024,它是一种简单有效的实现资源限制的方式。但当单进程的并发量较大时,1024的限制很容易超标,报告 too many open files 的错误。为了让系统能够支持更大的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,594
精华内容 1,037
关键字:

linux打开文件数系统

linux 订阅