• <i id='tae2'><div id='tae2'><ins id='tae2'></ins></div></i><acronym id='tae2'><em id='tae2'></em><td id='tae2'><div id='tae2'></div></td></acronym><address id='tae2'><big id='tae2'><big id='tae2'></big><legend id='tae2'></legend></big></address>
    <span id='tae2'></span>
      <fieldset id='tae2'></fieldset>

      <code id='tae2'><strong id='tae2'></strong></code>

    1. <dl id='tae2'></dl>

      1. <i id='tae2'></i>

        <ins id='tae2'></ins>

          1. <tr id='tae2'><strong id='tae2'></strong><small id='tae2'></small><button id='tae2'></button><li id='tae2'><noscript id='tae2'><big id='tae2'></big><dt id='tae2'></dt></noscript></li></tr><ol id='tae2'><table id='tae2'><blockquote id='tae2'><tbody id='tae2'></tbody></blockquote></table></ol><u id='tae2'></u><kbd id='tae2'><kbd id='tae2'></kbd></kbd>
          2. Linux系统中操作文件数过多导致的错误解决方法

            • 时间:
            • 浏览:6
            • 来源:124软件资讯网

                linux 打开文件数 too many open files 解决要领

                too many open files泛起这句提醒的缘故原由是法式打开的文件/socket毗连数目凌驾系统设定值  。

                检察每个用户最大允许打开文件数目

                代码如下:

                ulimit -a

                fdipzone@ubuntu:~$ ulimit -a

                core file size (blocks, -c) 0

                data seg size (kbytes, -d) unlimited

                scheduling priority (-e) 20

                file size (blocks, -f) unlimited

                pending signals (-i) 16382

                max locked memory (kbytes, -l) 64

                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) 8192

                cpu time (seconds, -t) unlimited

                max user processes (-u) unlimited

                virtual memory (kbytes, -v) unlimited

                file locks (-x) unlimited

                其中 open files (-n) 1024 表现每个用户最大允许打开的文件数目是1024

                检察当前系统打开的文件数目

                代码如下:

                lsof | wc -l

                watch "lsof | wc -l"

                检察某一历程的打开文件数目

                代码如下:

                lsof -p pid | wc -l

                lsof -p 1234 | wc -l

                设置open files数值要领

                代码如下:

                ulimit -n 2048

                fdipzone@ubuntu:~$ ulimit -n 2048

                fdipzone@ubuntu:~$ ulimit -a

                core file size (blocks, -c) 0

                data seg size (kbytes, -d) unlimited

                scheduling priority (-e) 20

                file size (blocks, -f) unlimited

                pending signals (-i) 16382

                max locked memory (kbytes, -l) 64

                max memory size (kbytes, -m) unlimited

                open files (-n) 2048

                pipe size (512 bytes, -p) 8

                POSIX message queues (bytes, -q) 819200

                real-time priority (-r) 0

                stack size (kbytes, -s) 8192

                cpu time (seconds, -t) unlimited

                max user processes (-u) unlimited

                virtual memory (kbytes, -v) unlimited

                file locks (-x) unlimited

                这样就可以把当前用户的最大允许打开文件数目设置为2048了 ,但这种设置要领在重启后会还原为默认值  。

                永世设置要领

                代码如下:

                vim /etc/security/limits.conf

                在最后加入

                代码如下:

                * soft nofile 4096

                * hard nofile 4096

                最前的 * 表现所有用户  ,可凭据需要设置某一用户  ,例如

                代码如下:

                fdipzone soft nofile 8192

                fdipzone hard nofile 8192

                改完后注销一下就能生效 。

                linux Argument list too long错误解决要领

                上一次需要删除/tmp目录下的所有文件  ,文件数目比力多  。

                代码如下:

                ls -lt /tmp | wc -l

                385412

                使用 rm * 后 ,系统提醒错误 Argument list too long

                缘故原由是在linux下  ,试图传太多参数给一个系统下令(ls *; cp *; rm *; cat *; etc..)时  ,就会泛起 Argument list too long错误  。

                解决要领如下:

                使用find -exec 遍历 ,然后执行删除便可  。

                代码如下:

                sudo find /tmp -type f -exec rm {} \;