码迷,mamicode.com
首页 > 其他好文 > 详细

Rabbitmq之file descriptors

时间:2020-03-07 19:14:26      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:线程   添加   设置   处理   工作   内核   操作   代理   its   

1.file descriptors

         对于linux而言,所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,

它是一个索引值,指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,

内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。
       为什么Linux内核对文件句柄数、线程和进程的最大打开数进行了限制?以及如果我们把它调的太大,会产生什么样的后果?

       最主要的是资源问题,为防止某一单一进程打开过多文件描述符而耗尽系统资源,对进程打开文件数做了限制;

 

2.控制linux上的系统限制
        运行生产工作负载的RabbitMQ安装可能需要系统限制和内核参数调整,以便处理大量并发连接和队列。

需要调整的主要设置是打开文件的最大数量,也称为ulimit -n。许多操作系统上的默认值对于消息传递代理来说太低(例如,在几个Linux发行版上为1024)。

       我们建议在生产环境中为用户rabbitmq允许至少65536个文件描述符。对于大多数开发工作负载而言,4096应该足够了。

 

3. file descriptors永久修改方法

#vi /etc/security/limits.conf   底部添加

* soft nofile 65535
* hard nofile 65535

#ulimit -n 65535
#ulimit -a
#rabbitmqctl stop
#rabbitmq-server -detached

技术图片

 

Rabbitmq之file descriptors

标签:线程   添加   设置   处理   工作   内核   操作   代理   its   

原文地址:https://www.cnblogs.com/llwxhn/p/12436085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!