• linux中程序打开文件句柄和创建进程限制


     linux中配置程序打开文件的句柄和创建进程的数量尤为重要,一般系统默认情况下值为1024。对于一些程序或者中间件系统1024的数量比较小,需要增大这个数量。尤其是部署中间件或者大数据的机器一定要增大该值。

    本文的背景就是因为部署kafka的机器未做limit的优化,导致kafka集群拒绝连接。

    直接进入正文

    一、查看一个进程打开的文件句柄

     jps  查看运行的java程序的进程

    lsof -p 849 |wc -l 查看进程号849这个程序打开的文件句柄数

    二、系统对打开文件句柄和创建进程的限制

    ulimit -n  文件句柄数限制查看

    ulimit -u 进程限制查看

    ulimit -a 查看限制全部信息

    三、文件句柄及进程限制的配置

    a、配置文件/etc/security/limits.conf

    1. * soft nofile 65536
    2. * hard nofile 65536
    3. * soft nproc 65536
    4. * hard nproc 65536

    * soft nofile 65536  #测试验证文件句柄是这行生效
    * hard nofile 65536
    * soft nproc 65536
    * hard nproc 65536 #测试验证进程数是这行生效

    格式为[用户名/*] [soft/hard/-] [nofile/nproc] [数目]

    也可以使用两行配置如下(建议

    1. * - nofile 65536
    2. * - nproc 65536

    数量上建议设置65536,也可以根据自己的业务情况设置大一些。

    b、另外一个配置目录/etc/security/limits.d(一般自己配置不建议,建议统一配置)

    limits.conf配置一般是配置全局的,在limits.d文件夹中可以配置每个用户独有的,如hive用户使用hive.conf文件配置,优先级最高,高于全局的配置。

     配置之后需要退出,重新登录之后才能生效

    四、重新登录之后限制数还是为生效

    参考:ssh登陆系统ulimit不生效的问题_贾己人的博客-CSDN博客_ssh ulimit 不生效

    修改/etc/ssh/sshd_config文件

    UsePAM yes

    然后重启sshd

    systemctl restart sshd

    如果还是未生效,修改/etc/ssh/sshd_config文件

    UseLogin yes

    然后再重启sshd服务

  • 相关阅读:
    OpenCV实现手势虚拟拖拽
    749个看图识字含MP3音频ACCESS\EXCEL数据库
    Linux-v10.0 笔记(一)
    【git 学习】--- ubuntu18.04 搭建本地git服务器
    使用matplotlib模拟线性回归
    MySQL安装常见报错处理大全
    如何使用前端表格控件实现数据更新?
    垃圾收集器
    k8s开放接口
    Spring 当中的Bean 作用域
  • 原文地址:https://blog.csdn.net/shenyunsese/article/details/126017211