<i id='v9t25'></i>

    1. <tr id='v9t25'><strong id='v9t25'></strong><small id='v9t25'></small><button id='v9t25'></button><li id='v9t25'><noscript id='v9t25'><big id='v9t25'></big><dt id='v9t25'></dt></noscript></li></tr><ol id='v9t25'><table id='v9t25'><blockquote id='v9t25'><tbody id='v9t25'></tbody></blockquote></table></ol><u id='v9t25'></u><kbd id='v9t25'><kbd id='v9t25'></kbd></kbd>
    2. <acronym id='v9t25'><em id='v9t25'></em><td id='v9t25'><div id='v9t25'></div></td></acronym><address id='v9t25'><big id='v9t25'><big id='v9t25'></big><legend id='v9t25'></legend></big></address>
      <dl id='v9t25'></dl>

        <i id='v9t25'><div id='v9t25'><ins id='v9t25'></ins></div></i>
        <span id='v9t25'></span>
        <ins id='v9t25'></ins><fieldset id='v9t25'></fieldset>

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

            Linux系统中操作文件数过多导致的错误解决方法

            • 时间:
            • 浏览:15
            • 来源: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 {} \;