zoukankan      html  css  js  c++  java
  • 突破操作系统limit的限制

      常在河边走,哪有不湿鞋。经历的系统多了,总会遇到各种各样的错误,如果你没有遇到,就证明有人在替你负重前行。

      有这样一个经典场景,机器负载并不高,但是系统并发量就是上不去,日志里面还会频繁打出too many open files。见到这样的错误,说明你得对操作系统的ulimit参数进行调整了。ulimit是用来限制进程对资源的使用的(多年前系统的硬件资源远没有现在的强大),系统里面默认值在高流量,大并发的服务器很可能会限制机器硬件性能的发挥。常见的错误很可能是too many open files.

      用ulimit -a命令可以查看相关的值。

    jenkins@pt-soft1:~$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 63955
    max locked memory       (kbytes, -l) 16384
    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) 63955
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    

      ubuntu系统是在/etc/security/limits.conf 最后一行加上

    * soft nproc 65535
    * hard nproc 65535
    * soft nofile 65535
    * hard nofile 65535
    

      

  • 相关阅读:
    为什么Go没有三元运算符
    [Win10]鼠标没用,插入USB口电脑提示USB Optical Mouse找不到驱动程序的解决方案
    Office2016软件安装教程
    office2019软件安装教程
    Go语言 科学计算库 Gonum 学习1
    AI Studio 学习 Go 豆瓣电影爬取
    Git下载、安装与环境配置
    VueJS 数组哪些方法是响应式的
    VueJS v-for
    VueJS v-show
  • 原文地址:https://www.cnblogs.com/linwenbin/p/12028682.html
Copyright © 2011-2022 走看看