欢迎来到天天爱彩票手机版_天天爱彩票手机版下载_天天爱彩票手机版苹果! 联系我们 网站地图

天天爱彩票手机版_天天爱彩票手机版下载_天天爱彩票手机版苹果

0379-65557469

项目建议书
全国服务热线
0379-65557469

电话: 0379-65557469
0379-63930906
0379-63900388 
0379-63253525   
传真: 0379-65557469
地址:洛阳市洛龙区开元大道219号2幢1-2522、2501、2502、2503、2504、2505室 

项目建议书
当前位置: 首页 | 咨询案例 > 项目建议书

天天爱彩票手机版-优化Linux翻开文件约束

作者:admin 发布时间:2019-07-14 20:01:21 浏览次数:157
打印 收藏 关闭
字体【
视力保护色

Linux全部皆文件



    文件是Linux体系中的全部事物的存在方法,计算机中的数据和硬件都是经过文件的方法进行办理,Linux的文件主要有一般文件、文件夹、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等类型,Linux 中的各种事物比如像文档、文件夹、键盘、监视天天爱彩票手机版-优化Linux翻开文件约束器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端等等都是界说在文件体系空间下的字节省。

        因而在Linux体系上的web程序,在进行TCP衔接时,体系为每个TCP衔接创立一个socket句柄,而每个句柄也是一个文件句柄,所以web程序对文件的操作状况,是影响到服务器功能的重要目标,像网站在高流量高并发的场景下呈现"Too many open files"的反常便是由于翻开的文件数超越约束,而程序中对资源(包含图片、音视频资源)、网页、以及接口的恳求在Linux体系里的表现为对文件的拜访,假如翻开文件数超出了体系约束(体系级和用户级)的数量,就会回绝接下来的文件拜访。

    体系默许的最大翻开文件数是1024。

[root@pgpool-II mongo]# ulimit -n1024


体系答应的最大翻开文件数

[root@pgpool-II mongo]# cat /proc/sys/fs/file-max 141008


该参数由硬件所决议,加大内存能进步该项的值。


修正体系的最大文件数的约束



    一般体系最大文件数会依据硬件资源计算出来的,假如强行需求修正最大翻开文件数能够经过ulimit -n 10240来修正,当这种方法只对当时进程有用,假如需求永久有用则需求修正/etc/security/limits.conf(重启体系收效)

[root@stunturn ~]# cat /etc/security/limits.conf |grep -v "^#"* soft nofile 65536* hard nofile 65536


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

domain  能够是用户、用户组,支撑通配符 * 、%

type       有两种类型soft(软约束)、hard(硬约束)

item       约束类型较多,有以下:

- core - limits the core file size (KB)- data - max data size (KB)- fsize - maximum filesize (KB)- memlock - max locked-in-memory address space (KB)- nofile - max number of open file descriptors- rss - max resident set size (KB)- stack - max stack size (KB)- cpu - max CPU time (MIN)- nproc - max number of processes- as - address space limit (KB)- maxlogins - max number of logins for this user- maxsyslogins - max number of logins on the system- priority - the priority to run user process with- locks - max number of file locks the user can hold- sigpending - max number of pending signals- msgqueue - max memory used by POSIX message queues (bytes)- nice - max nice priority allowed to raise to values: [-20, 19]- rtprio - max realtime priority


nofile 设置最大翻开文件数


遇到的坑



        上诉设置看似现已没有什么问题了。但是在线上出产环境中仍是遇到了Too many open files的过错。

    排查问题,检查体系的最大翻开文件数,ulimit -n 显现65535,依据监控显现的进程的翻开文件抵达1024时就出错了。装备的65535,还远远没有到达啊。进程的约束仍是1024。检查进程的约束:

[root@java ~]# ps -ef|grep nginxroot      7963 50384  0 16:07 pts/1    00:00:00 grep --color=auto nginxroot     41980     1  0 7月03 ?       00:00:00 nginx: master process /usr/sbin/nginxnginx    41981 41980  0 7月03 ?       00:00:00 nginx: worker process[root@java ~]# cat /proc/41981/limitsLimit                     Soft Limit           Hard Limit           Units     Max cpu time              unlimited            unlimited            seconds   Max file size             unlimited            unlimited            bytes     Max data size             unlimited            unlimited            bytes     Max stack size            8388608              unlimited            bytes     Max core file size        0                    unlimited            bytes     Max resident set          unlimited            unlimited            bytes     Max processes             6966                 6966                 processes Max open files            1024                 4096                 files     Max locked memory         65536                65536                bytes     Max address space         unlimited            unlimited            bytes     Max file locks            unlimited            unlimited            locks     Max pending signals       6966                 6966                 signals   Max msgqueue size         819200               819200               bytes     Max nice priority         0                    0                   smzh Max realtime priority     0                    0                    Max realtime timeout      unlimited            unlimited            us


的确显现的Max open files            1024                 4096                 files。

翻开/etc/security/limits.conf,发现其中有一句阐明:

#It does not affect resource limits of the system services.


修正这个文件并不会对体系服务收效。

服务是由systemctl发动的,所以约束依然是1024。


    在Centos7体系中,运用Systemd代替了之前的SysV。/etc/security/limits.conf文件的装备效果域缩小了。/etc/security/limits.conf的装备,只适用于经过PAM认证登录用户的资源约束,它对systemd的service的资源约束不收效。因而登录用户的约束,经过/etc/security/limits.conf与/etc/security/limits.d下的文件设置即可。 

    关于systemd service的资源设置,则需修正大局装备,大局装备文件放在/etc/systemd/system.conf和/etc/systemd/user.conf,一起也会加载两个对应目录中的一切.conf文件/etc/systemd/system.conf.d/*.conf和/etc/systemd/user.conf.d/*.conf。system.conf是体系实例运用的,user.conf是用户实例运用的。 

vim /etc/systemd/system.confDefaultLimitNOFILE=100000DefaultLim天天爱彩票手机版-优化Linux翻开文件约束itNPROC=65535


需求重启体系收效。


另一种解决方法:

修正systemd发动脚本,[Service]项中支撑两个参数LimitNOFILE 、 LimitNPROC

设置systemd服务发动进程的翻开文件数约束和发动进程数约束。

[Service]LimitNOFILE=65535LimitNPROC=65535


重启服务,此刻再检查进程的limits文件便是65535了。

[root@java ~]# systemctl daemon-reload[root@java ~]# systemctl restart nginx[root@java ~]# ps -ef|grep nginxroot      8660     1  0 16:17 ?        00:00:00 nginx: master process /usr/sbin/nginxnginx     8661  8660  0 16:17 ?        00:00:00 nginx: worker processroot      8667 50384  0 16:17 pts/1    00:00:00 grep --color=auto nginx[root@java ~]# cat /proc/8661/limitsLimit                     Soft Limit           Hard Limit           Units     Max cpu time              unlimited            unlimited            seconds   Max file size             unlimited            unlimited            bytes     Max data size             unlimited            unlimited            bytes     Max stack size            8388608              unlimited            bytes     Max core file size        0                    unlimited            bytes     Max resident set          unlimited            unlimited            bytes     Max processes             65535                65535                processes Max open files            65535                65535                files     Max locked memory         65536                65536                bytes     Max address space         unlimited            unlimited            bytes     Max file locks            unlimited            unlimited            locks     Max pending signals       6966                 6966   天天爱彩票手机版-优化Linux翻开文件约束              signals   Max msgqueue size         819200               819200               bytes     Max nice priority         0                    0                    Max realtime priority     0                    0                    Max realtime timeout      unlimited            unlimited            us




版权所有:洛阳市建设工程咨询有限责任公司 联系人:李经理 电话: 地址:洛阳市洛龙区开元大道219号2幢1-2522、2501、2502、2503、2504、2505室
版权所有 天天爱彩票手机版 苏ICP备136440597号-4