V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tianpu
V2EX  ›  PHP

centos: php-fpm.init 为什么必须加 ulimit -n 1048576 才可以大量开进程?

  •  
  •   Tianpu · 2015-03-11 17:01:54 +08:00 · 3128 次点击
    这是一个创建于 3326 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在/etc/security/limits.conf 已经设置* nofile 1048576 了,启动脚本不加,就必须登录下系统重启下 php 主进程才可以生效。runlevel 是 50,肯定在系统基本服务后面吧

    纯粹是好奇,问题已经解决了
    8 条回复    2015-03-11 22:18:40 +08:00
    mengzhuo
        1
    mengzhuo  
       2015-03-11 17:11:31 +08:00
    Linux中,一切皆文件。
    socket需要File descriptor 来维持。
    xiparos
        2
    xiparos  
       2015-03-11 19:20:42 +08:00
    好奇问问Debian 7 Wheezy也需要这样设置才可以大量开进程么?
    Tianpu
        3
    Tianpu  
    OP
       2015-03-11 19:27:27 +08:00
    @xiparos 肯定需要增大限制

    我的问题是limits.conf应该比php早启动 怎么会影响到 非要独立设置
    xiparos
        4
    xiparos  
       2015-03-11 19:59:02 +08:00
    @Tianpu 能给我讲讲大量开进程的应用场景么,我对这块没什么概念,没理解错是网站大量访问带来的问题?或者扔篇文章让我去扫扫盲,谢谢
    billlee
        5
    billlee  
       2015-03-11 21:07:15 +08:00
    你改的是 hard limit 还是 soft limit ?
    hard limit 是上限,enforced by kernel.
    soft limit 是在未调用 ulimit 时的默认限制,可以用。
    Tianpu
        6
    Tianpu  
    OP
       2015-03-11 21:24:31 +08:00
    @billlee 都改了 可能是启动顺序的问题吧 或者是别的依赖关系 我这边php-fpm是50的优先级 属于非系统服务最高的了


    @xiparos 代理 我需要每秒2000左右的并发php进程 虽然每个进程存活时间不需要很久
    Tianpu
        7
    Tianpu  
    OP
       2015-03-11 21:27:03 +08:00
    @billlee

    # /etc/security/limits.d/90-nproc.conf
    * soft nproc 1048576
    root soft nproc unlimited

    # /etc/security/limits.conf
    * hard nproc 1048576
    * soft nproc 1048576
    * hard nofile 1048576
    * soft nofile 1048576

    该不会是nproc启动权重是90的问题吧
    julyclyde
        8
    julyclyde  
       2015-03-11 22:18:40 +08:00
    # 跟/etc/security/limits*没啥关系。那是由PAM调用的,是管shell的
    # 才可以大量开进程是因为主进程和子进程的通信消耗了主进程的fd数量,所以会触顶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4061 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:22 · PVG 13:22 · LAX 22:22 · JFK 01:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.