zoukankan      html  css  js  c++  java
  • nginx错误Too many open files

    在线上都运行一年的nginx报出这个问题 愁死了,因为授权的原因不能重启,幸好可以设置

    日志报错如下

    2020/03/22 14:31:33 [crit] 19793#0: *2301 open() "/home/data/logs/access.log" failed (24: Too many open files), client: 101.227.140.37
    2020/03/22 14:31:33 [crit] 19793#0: *2304 open() "/home/data/logs/access.log" failed (24: Too many open files), client: 101.227.140.44
    2020/03/22 14:31:33 [crit] 19793#0: *2307 open() "/home/data/logs/access.log" failed (24: Too many open files), client: 101.227.140.43
    2020/03/22 14:31:33 [crit] 19793#0: accept4() failed (24: Too many open files)
    2020/03/22 14:31:33 [crit] 19793#0: accept4() failed (24: Too many open files)
    2020/03/22 14:31:34 [crit] 19793#0: accept4() failed (24: Too many open files)

    先查一下限制cat /proc/3383/limits注意这个进程ID是nginx的其中一个哈

    Limit                     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            10485760             unlimited            bytes     
    Max core file size        0                    unlimited            bytes     
    Max resident set          unlimited            unlimited            bytes     
    Max processes             95709                95709                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       95709                95709                signals   
    Max msgqueue size         819200               819200               bytes     
    Max nice priority         0                    0                    
    Max realtime priority     0                    0                    
    Max realtime timeout      unlimited            unlimited            us

    很明显Max open files的Soft limit太小了 需要设置成4096

    echo -n 'Max open files=4096:4096' > /proc/3383/limits

    如法炮制nginx的所有进程 就能正常播放了

  • 相关阅读:
    POJ 3356 水LCS
    POJ 2250 (LCS,经典输出LCS序列 dfs)
    POJ 1080( LCS变形)
    整数划分问题之最大乘积
    进程调度之FCFS算法(先来先运行算法)
    c模拟银行家资源分配算法
    c模拟内存分配算法(首次适应算法,最佳适应算法,最坏适应算法)
    HDU 2602 Bone Collector(经典01背包问题)
    NYOJ 44 字串和 (最大字串和 线性dp)
    匈牙利游戏(codevs 1269)
  • 原文地址:https://www.cnblogs.com/yuandaozhe/p/12545938.html
Copyright © 2011-2022 走看看