fs.inotify.max_user_watches默认值太小,导致too many open files_地狱之光的博客-CSDN博客_fs.inotify.max_user_watches


本站和网页 https://blog.csdn.net/weiguang1017/article/details/54381439 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

fs.inotify.max_user_watches默认值太小,导致too many open files_地狱之光的博客-CSDN博客_fs.inotify.max_user_watches
fs.inotify.max_user_watches默认值太小,导致too many open files
地狱之光
于 2017-01-12 20:25:44 发布
38839
收藏
22
看到too many open files可能想到fs.file-max参数,其实还受下面参数影响:
fs.inotify.max_queued_events:表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。
fs.inotify.max_user_instances:表示每一个real user ID可创建的inotify instatnces的数量上限,默认128.
fs.inotify.max_user_watches:表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)
建议修改系统默认参数,方法如下(vi /etc/sysctl.conf):
fs.inotify.max_user_instances=8192
注意: max_queued_events 是inotify管理的队列的最大长度,文件系统变化越频繁,这个值就应该越大。如果你在日志中看到Event Queue Overflow,说明max_queued_events太小需要调整参数后再次使用。
关于重启inotify配置max_user_watches无效被恢复默认值8192的正确修改方法
一般网上修改方法就是直接修改文件:
/proc/sys/fs/inotify/max_user_watches
或者修改方法:
sysctl -w fs.inotify.max_user_watches="99999999"
但是这些修改后,Linux系统重启inotify配置max_user_watches无效被恢复默认值8192,这个可能很多的新手不是很明白,这个不详细讲解,有空大家去了解下:sysctl
Linux系统重启inotify配置max_user_watches无效被恢复默认值8192的正确修改方法为:
vim /etc/sysctl.conf 
注意添加的内容:
fs.inotify.max_user_watches=99999999(你想设置的值)
haole ,好了,很简单。。
在Linux中打开了太多文件(Too many open files)的解决方法
回答一、
[root@lxadmin nginx]# cat /proc/sys/fs/file-max 8192 文件系统最大可打开文件数 [root@lxadmin nginx]# ulimit -n 1024 程序限制只能打开1024个文件 使用[root@lxadmin nginx]# ulimit -n 8192调整一下 或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=xxx无效)
ulimit -n 8192
回答二、
Linux内核有时会报告“Too many open files”,起因是file-max默认值(8096)太小。要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本。)
# echo "65536"  > /proc/sys/fs/file-max  # 适用于2.2和2.4版内核 # echo "131072" > /proc/sys/fs/inode-max # 仅适用于2.2版内核
回答三、
办法是修改操作系统的打开文件数量限制,方法如下:
1. 按照最大打开文件数量的需求设置系统, 并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。  # cat /proc/sys/fs/file-max 如果设置值太小, 修改文件/etc/sysctl.conf的变量到合适的值。 这样会在每次重启之后生效。 如果设置值够大,跳过下步。  # echo 2048 > /proc/sys/fs/file-max 编辑文件/etc/sysctl.conf,插入下行。  fs.file-max = 8192
2. 在/etc/security/limits.conf文件中设置最大打开文件数, 下面是一行提示:  #  添加如下这行。  * - nofile 8192
这行设置了每个用户的默认打开文件数为2048。 注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用"-"字符设定, 则hard和soft设定会同时被设定。  硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。  当增加文件限制描述,可以简单的把当前值双倍。 例子如下, 如果你要提高默认值1024, 最好提高到2048, 如果还要继续增加, 就需要设置成4096。
另外一种情况是在创建索引的时候,也有两种可能,一种是 合并因子太小,导致创建文件数量超过操作系统限制,这时可以修改合并因子,也可以修改操作系统的打开文件数限制;另外一种是合并因子受虚拟机内存的限制,无法调整到更大,而 需要索引的doc 数量又非常的大,这个时候就只能通过修改操作系统的打开文件数限制来解决了。
在此基础上,我还修改了以下一个配置文件 vi /etc/sysctl.conf  添加: # Decrease the time default value for tcp_fin_timeout connection net.ipv4.tcp_fin_timeout = 30 # Decrease the time default value for tcp_keepalive_time connection net.ipv4.tcp_keepalive_time = 1800 # Turn off tcp_window_scaling net.ipv4.tcp_window_scaling = 0 # Turn off the tcp_sack net.ipv4.tcp_sack = 0 #Turn off tcp_timestamps net.ipv4.tcp_timestamps = 0 然后 service network restart,这些都和TCP sockets有关的优化。
另外需要在 /etc/rc.d/rc.local里添加已使得重启的时候生效。 echo "30">/proc/sys/net/ipv4/tcp_fin_timeout echo "1800">/proc/sys/net/ipv4/tcp_keepalive_time echo "0">/proc/sys/net/ipv4/tcp_window_scaling echo "0">/proc/sys/net/ipv4/tcp_sack echo "0">/proc/sys/net/ipv4/tcp_timestamps 因为不是所有的程序都在root下跑的,所有linux有对hard 与soft open files 的区分,普通用户受hard的限制,无论ulimit -n $数值调到多高,都跑不到 /etc/security/limits.conf里nofile的值.
这样的优化后 lsof -p $java_pid|wc -l可以跑到4千以上都不会抛出too many open files。
地狱之光
关注
关注
点赞
22
收藏
评论
fs.inotify.max_user_watches默认值太小,导致too many open files
看到too many open files可能想到fs.file-max参数,其实还受下面参数影响:fs.inotify.max_queued_events:表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。fs.inotify.max_user_instanc
复制链接
扫一扫
容器数量增加导致fs.inotify.max_user_instances超过限制
villare的博客
07-06
2939
文章内容
1.现象描述
2.问题分析
3.解决办法
4.总结
5.参考链接
1.现象描述
平台架构:Rancher,k8s,微服务
问题的出现发生在最近,当服务的数量增加到一定程度时,出现了容器日志不定期丢失的情况,通过以下方式均没有日志信息输出:
1)通过Rancher,Kubernetes UI查看容器日志
2)通过docker logs查看
2.问题分析
2....
Linux open file与 fs-max
Ronin_88的博客
12-07
301
概要:
linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。这就需要修改ulimit和file-max。特别是提供大量静态文件访问的web服务器,缓存服务器(如squid), 更要注意这个问题。
网上的教程,都只是简单说明要如何设置ulimit和file-max, 但这两者之间的关系差别,并没有仔细说明。
说明:
1. file-max的含义。man proc,可得到file-max的描述:
/pro
参与评论
您还未登录,请先
登录
后发表或查看评论
Linux 利用inotify和rsync服务实现数据实时同步
最新发布
weixin_47367099的博客
10-27
60
inotifywait: 在被监控的文件或目录上等待特定文件系统事件(open ,close,delete等)发生,常用于实时同步的目录监控(主要使用的就是这个工具)前两者的本质是通过本地或远程shell,而第3种方式则是让远程主机上运行rsyncd服务,使其监听在一个端口上,等待客户端的连接。inotify是系统内核的一个监控服务,属于操作系统内核的一个特有机制,用于监控文件的信息变化。inotifywatch:收集被监控的文件系统使用的统计数据,指文件系统事件发生的次数统计。
Oracle 安装时候的fs.file-max参数
weixin_34161083的博客
12-12
1311
fs.file-max = 6815744
其意义是: 系统中可以同时打开的文件数目。其值相当于 6.5×1024×1024=6.5M
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/10/12/2720743.html,如需转载请自行联系原作者
...
Linux 更改 max_user_watches
Ruby Tips
12-06
1182
运行查看当前限制:
cat /proc/sys/fs/inotify/max_user_watches
通过编辑/etc/sysctl.conf 并将此行添加到文件末尾,可以将限制增加到最大值:
fs.inotify.max_user_watches=524288
更多问题看参考:
https://code.visualstudio.com/docs/setup/linux
这样就可以愉快地在本地使用 VSCode + Remote-SSH,完整本地云端一体化的开发环境了。
...
file-max
windowschengxisheji的博客
03-31
1172
1. 系统最大打开文件描述符数:/proc/sys/fs/file-max
a. 查看
$ cat /proc/sys/fs/file-max
186405
2. 设置
a. 临时性
# echo 1000000 > /proc/sys/fs/file-max
2. 永久性:在/etc/sysctl.conf中设置
fs.file-max = 1000000
Linux重启inotify配置max_user_watches无效被恢复默认值8192的正确修改方法
qq_40309341的博客
11-09
1732
一般网上修改方法就是直接修改文件:
/proc/sys/fs/inotify/max_user_watches
或者修改方法:
sysctl -w fs.inotify.max_user_watches=“99999999”
但是这些修改后,Linux系统重启inotify配置max_user_watches无效被恢复默认值8192,这个可能很多的新手不是很明白,这个不详细讲解,有空大家去了解下:sysctl
Linux系统重启inotify配置max_user_watches无效被恢复默认值8192的正确
inotify max_user_watches
小唯一的博客
07-06
4331
使用inotify
出现Failed to watch /mnt/;
upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches’.、
不能直接cat vi进入
Linux跨服务器监控文件,[转]Linux下用inotify-tool实时监控服务器文件系统
weixin_35551554的博客
05-09
93
使用inotify相关参数:/proc/sys/fs/inotify/max_queued_events #请求events数的最大值/proc/sys/fs/inotify/max_user_instances #每个user可创建的instances数量上限/proc/sys/fs/inotify/max_user_watches #可监控的目录最大数inotifywait是一个监控等待...
Linux内核调优部分参数说明
weixin_34343689的博客
06-19
35
2019独角兽企业重金招聘Python工程师标准>>>
...
linux中open file设置原则
hubolu123的博客
11-06
1713
文章转自:https://bbs.csdn.net/topics/392401968
我们已经了解到想要解决用户出现“**too many open files**”的问题需要同时修改用户级参数文件limits.conf及系统级参数文件sysctl.conf,那么怎么修改才合理呢?怎么修改才能万无一失呢?文章开始我提到,在最初出现“too many open files”问题的时候,我们只...
centos7修改最大文件数
qq_36713450的博客
11-29
1367
1、file-max 系统所有进程能够打开的文件数
查看当前值
cat /proc/sys/fs/file-max
修改值
vim /etc/sysctl.conf
fs.file-max = 65535600
2、nr_open 单进程最大能配置的文件数量,不能大于file-max
查看当前值
cat /proc/sys/fs/nr_open
修改值
vim /etc/sysctl.conf
fs.nr_open = 1000000
3、通过PAM认证登录的用户资源限制
查.
linux file-nr 内核参数,linux下设置最大文件打开数nofile及nr_open、file-max说明
weixin_28873927的博客
05-09
691
在开发运维的时候我们常常会遇到类似“Socket/File: Can’t open so many files”,“无法打开更多进程”,或是coredump过大等问题,这些都可以设置资源限制来解决。今天在教某位客户设置最大文件数方法时,搜索网上的方法时发现各家说法并不一致,便写了这篇文档。通常对linux某个用户设置系统资源,我们都已经知道可以用ulimit命令来查看和设置。表 1. ulimit...
linux系统调优:file-max与ulimit -n 控制文件句柄的区别
zongyue_wang的博客
08-14
1070
file-max 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。
ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。
概要:
linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。这就需...
Centos内核参数
weixin_30568591的博客
03-22
689
内核参数
abi.vsyscall32 = 1 在2.6.25版本以后的x86-64内核中,默认启用了VDSO32。
虚拟动态共享对象 http://man7.org/linux/man-pages/man7/vdso.7.html
1.通常情况下,每次请求会通过用户态调用内核态,从而发生一次系统调用。
2.内核态将动态共享对象映射至于用户态,用户态请求直接调用,从而减少系统...
Kubernetes inotify watch 耗尽
小楼一夜听春雨,深巷明朝卖杏花
08-30
1114
文件句柄:在 Linux 环境中,任何事物都是用文件来表示,设备是文件,目录是文件,socket 也是文件。用来表示所处理对象的接口和唯一接口就是文件。应用程序在读/写一个文件时,首先需要打开这个文件,打开的过程其实质就是在进程与文件之间建立起连接,句柄的作用就是唯一标识此连接。fs.inotify.max_queued_events:表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。.
老生常谈:rsync+inotify数据量百万级文件,大小将近1t的做实时同步
木一番的博客
03-19
2963
环境:Centos7系统,系统自带了rsync,就跳过怎么安装rsync了
源数据服务器ip:59.212.147.205(简写205)
接收205同步过来的服务器iip(备份服务器):59.212.25.124(简写124)
同步的附件夹,205根目录下的:/TRS/HyCloud/data ====> 124相同的文件目录下::/TRS/HyCloud/data
...
inotify报错Failed to watch /opt; /proc/sys/fs/inotify/max_user_watches,K哥
weixin_34392906的博客
11-08
1453
2016.11.8K哥有2台服务器使用了unison+inotify达到网站文件夹时时同步的效果今天突然发现inotify占用很大CPU,可以用top命令查看打开inotify日志查看原因发现这一报错Failed to watch /opt; upper limit on inotify watches reached!Please increase the amount o...
Linux Epoll 一网打尽
HULK一线技术杂谈
12-19
106
女主宣言epoll是linux上的IO多路复用的一种实现,内核在实现时使用的数据结构相比select要复杂,但原理上并不复杂,我们力求在本文的描述里抽出主干,理清思路。PS:丰富的一线技...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
地狱之光
CSDN认证博客专家
CSDN认证企业博客
码龄12年
暂无认证
141
原创
5万+
周排名
30万+
总排名
140万+
访问
等级
1万+
积分
93
粉丝
89
获赞
78
评论
292
收藏
私信
关注
热门文章
如何用yum安装本地rpm包
66586
SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法
50629
linux_文件删除的恢复(rm -rf *)
47303
Helm简介,安装与使用
46171
ansible小结(八)ansible-playbook简单使用
39865
分类专栏
持续集成
86篇
测试管理
11篇
配置管理
59篇
虚拟化
23篇
服务器运维
70篇
Devops
89篇
技术思维做管理
最新评论
jenkins触发远程构建gitlab报404解决方法
苏不轼:
方案三还是报错404
在k8s集群中部署nginx-ingress-controller.yaml遇到的问题
我再睡会儿就起来:
解决了吗?老哥,我也遇到这个问题了
centos 7 Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
Dean_xiu:
2021-10-04 依旧有效,博主威武
ansible小结(十一)ansible普通用户su切换问题
有空换一个:
请问有什么办法可以避免明文密码?
持续集成 之 Jenkins插件 Multiple SCMs Plugin
青山怜酒醉:
大神,请教一下源码这样配置获取后,触发器那里怎么设置?谢谢
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
jenkins触发远程构建gitlab报404解决方法
Linux下去掉^M的方法
mac shell下sed的用法
2020年1篇
2018年33篇
2017年52篇
2016年50篇
2015年16篇
2014年25篇
2013年32篇
目录
目录
分类专栏
持续集成
86篇
测试管理
11篇
配置管理
59篇
虚拟化
23篇
服务器运维
70篇
Devops
89篇
技术思维做管理
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值