• Linux资源使用配置文件 /etc/security/limits.conf


    Linux资源使用配置文件 /etc/security/limits.conf

    http://www.linuxidc.com/Linux/2012-05/59489.htm

    Linux就这个范儿P561

    Linux处于稳定性的考虑,默认情况下对系统资源都做了限制,有一些Linux发行版会保守一些,如果不是很极端的话,尽量不要修改

    还有一个限制最大打开文件描述符的地方,通过procfs文件系统来调整 cat /proc/sys/fs/file-max 

    这个文件主要是用来限制用户对系统资源的使用,具体的使用方法 man 5 limits.conf,里面便给出了详细的用法

    1. user@db-2:~$ cat /etc/security/limits.conf   
    2. # /etc/security/limits.conf  
    3. #  
    4. #Each line describes a limit for a user in the form:  
    5. #  
    6. #<domain>        <type>  <item>  <value>  
    7. #  
    8. #Where:  
    9. #<domain> can be:  
    10. #        - an user name  
    11. #        - a group name, with @group syntax  
    12. #        - the wildcard *, for default entry  
    13. #        - the wildcard %, can be also used with %group syntax,  
    14. #                 for maxlogin limit  
    15. #  
    16. #<type> can have the two values:  
    17. #        - "soft" for enforcing the soft limits # 软限制,必须比硬限制的值要小  
    18. #        - "hard" for enforcing hard limits     # 硬限制  
    19. #  
    20. #<item> can be one of the following:  
    21. #        - core - limits the core file size (KB)  
    22. #        - data - max data size (KB)  
    23. #        - fsize - maximum filesize (KB)  
    24. #        - memlock - max locked-in-memory address space (KB)  
    25. #        - nofile - max number of open files    # 最大打开的文件数(以文件描叙符,file descriptor计数)  
    26. #        - rss - max resident set size (KB)  
    27. #        - stack - max stack size (KB)  
    28. #        - cpu - max CPU time (MIN)  
    29. #        - nproc - max number of processes  
    30. #        - as - address space limit  
    31. #        - maxlogins - max number of logins for this user  
    32. #        - maxsyslogins - max number of logins on the system  
    33. #        - priority - the priority to run user process with  
    34. #        - locks - max number of file locks the user can hold  
    35. #        - sigpending - max number of pending signals  
    36. #        - msgqueue - max memory used by POSIX message queues (bytes)  
    37. #        - nice - max nice priority allowed to raise to  
    38. #        - rtprio - max realtime priority  
    39. #  
    40. #<domain>      <type>  <item>         <value>  
    41. #  
    42. root            soft    nofile          200000  
    43. root            hard    nofile          200000  
    44. admin           hard    nofile          65536  
    45. admin           soft    nofile          65536  
    46. End of file  

    每行的格式:
    用户名/用户组    类型(硬限制、软限制)   选项     值

    比如很多朋友可能在使用mysql的时候遇到too many open files的错误,此时便可以通过将运行mysqld的用户的 nofile(最大打开文件数)这个值增大一点,例如
    db_running_user      -      nofile    设定一个合理的值  
    注意上面的第二列 ‘-’表示hard和soft,可以显示的为soft和hard写两行

    我这只是举一个例子,这个文件还可以配置很多资源的使用,但是一般的情况下用默认的就行,当你有特殊需求或者自己对这些参数的来龙去脉又相当了解,你可以去改这些默认的参数,查看当前用户的这些资源使用限制情况可以使用 ulimit -a(查看ulimit的使用方法,用man ulimit无效,可以用help ulimit)

    那么对它的修改什么时候生效呢?每次重新login的时候生效,至于原因则是我参考的那篇文章里面说了。


    自己的疑问:

    1. 为什么要同时有soft和hard这两个限制?这个soft和hard应该是代表两种类型的阀值吧,一定不能超过hard限制,但是可以超过soft限制,有一个hard不就够了么?

    知道设置两个参数的意义在于:hard是一个上限在运行期间不可以调大但���以调小,而soft只能比hard小,在运行期间可以调大。 我也用mysqld测试过,它读取的是soft值,但是我又不解的是,既然修改/etc/security/limits.conf要重新login才生效,那么这些修改的意义不就没有了吗?因为要重新登录,意味着服务要重启

    应该是这个解释比较合理,soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错


    http://www.linuxidc.com/Linux/2012-05/59489.htm
    改最大连接数
    vi  /etc/security/limits.conf
     
    *   hard   nproc    h1
    *   hard   nofile     h1

    vi /etc/security/limits.d/90-nproc.conf

    *   hard    nproc    h2

    echo  '*   hard   nproc    65535'  >>/etc/security/limits.conf  //centos5
    echo  '*   hard   nofile     65535'  >>/etc/security/limits.conf
    echo  '*   hard    nproc    65535'  >>/etc/limits.d/90-nproc.conf  //centos6

    注意:  hard    nproc    h2,root用户不受nproc    限制

    lnmp第二部分

    http://www.cnblogs.com/MYSQLZOUQI/p/4996262.html

    nginx配置文件

    nginx.conf
    user nobody nobody; //使用哪个用户和组来启动子进程 主进程必须是root 1024以下的端口必须是root用户监听
    worker_processes 2; //开启多少个子进程
    error_log /usr/local/nginx/logs/nginx_error.log crit; //日志级别crit
    pid /usr/local/nginx/logs/nginx.pid;
    worker_rlimit_nofile 51200; //打开文件描述符的个数
    events
    {
    use epoll; //事件模型
    worker_connections 6000; 每个worker支持多少连接 曾经设置过10240 nginx做反向代理 导致502错误 最好不要设置那么大
    }
  • 相关阅读:
    几个可以用到的正则表达式
    apache fileupload 文件上传,及文件进度设置获取
    Log4j日志根据配置输出到多个自定义文件
    spring3.2.2 remoting HTTP invoker 实现方式
    希望自己坚持住!
    tomcat线程一直处于RUNNABLE,不接受请求
    OM—>AR相关会计科目
    css画图
    Jquery 实现原理之 Ajax
    HTML、XHTML和HTML5区别与联系
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/5054559.html
Copyright © 2020-2023  润新知