仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3195|回复: 18
打印 上一主题 下一主题

[其他Linux] Linux教程之在Linux中翻开了太多文件(Too many open files)的办理办法仓酷云 ...

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:37:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
vim除非你打算真正的学好linux,或者说打算长久时间学习他,而且肯花大量时间vim,否则,最好别碰
回覆1、
[root@lxadminnginx]#cat/proc/sys/fs/file-max
8192
文件体系最年夜可翻开文件数
[root@lxadminnginx]#ulimit-n
1024
程序限定只能翻开1024个文件
利用[root@lxadminnginx]#ulimit-n8192调剂一下
大概永世调剂翻开文件数可在启动文件/etc/rc.d/rc.local开端增加(在/etc/sysctl.conf开端增加fs.file-max=xxx有效)
ulimit-n8192
回覆2、
Linux内核偶然会呈报“Toomanyopenfiles”,原因是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版内核
回覆3、
举措是修正操纵体系的翻开文件数目限定,办法以下:
1.依照最年夜翻开文件数目的需求设置体系,而且经由过程反省/proc/sys/fs/file-max文件来确认最年夜翻开文件数已被准确设置。
#cat/proc/sys/fs/file-max
假如设置值太小,修正文件/etc/sysctl.conf的变量到符合的值。如许会在每次重启以后失效。假如设置值够年夜,跳过下步。
#echo2048>/proc/sys/fs/file-max
编纂文件/etc/sysctl.conf,拔出下行。
fs.file-max=8192
2.在/etc/security/limits.conf文件中设置最年夜翻开文件数,上面是一行提醒:
#
增加以下这行。
*-nofile8192
这行设置了每一个用户的默许翻开文件数为2048。注重"nofile"项有两个大概的限定措施。就是项下的hard和soft。要使修正过得最年夜翻开文件数失效,必需对这两种限定举行设定。假如利用"-"字符设定,则hard和soft设定会同时被设定。
硬限定标明soft限定中所能设定的最年夜值。soft限定指的是以后体系失效的设置值。hard限定值能够被一般用户下降。可是不克不及增添。soft限定不克不及设置的比hard限定更高。只要root用户才干够增添hard限定值。
当增添文件限定形貌,能够复杂的把以后值双倍。例子以下,假如你要进步默许值1024,最好进步到2048,假如还要持续增添,就必要设置成4096。
别的一种情形是在创立索引的时分,也有两种大概,一种是兼并因子太小,招致创立文件数目凌驾操纵体系限定,这时候能够修正兼并因子,也能够修正操纵体系的翻开文件数限定;别的一种是兼并因子受假造机内存的限定,没法调剂到更年夜,而必要索引的doc数目又十分的年夜,这个时分就只能经由过程修正操纵体系的翻开文件数限定来办理了。
在此基本上,我还修正了以下一个设置文件
vi/etc/sysctl.conf
增加:
#Decreasethetimedefaultvaluefortcp_fin_timeoutconnection
net.ipv4.tcp_fin_timeout=30
#Decreasethetimedefaultvaluefortcp_keepalive_timeconnection
net.ipv4.tcp_keepalive_time=1800
#Turnofftcp_window_scaling
net.ipv4.tcp_window_scaling=0
#Turnoffthetcp_sack
net.ipv4.tcp_sack=0
#Turnofftcp_timestamps
net.ipv4.tcp_timestamps=0
然后servicenetworkrestart,这些都和TCPsockets有关的优化。
别的必要在/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与softopenfiles的辨别,一般用户受hard的限定,不管ulimit-n$数值调到多高,都跑不到/etc/security/limits.conf里nofile的值.
如许的优化后lsof-p$java_pid|wc-l能够跑到4千以上都不会抛出toomanyopenfiles。

看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-21 11:33:35 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-30 17:18:02 | 只看该作者
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-5 12:04:33 | 只看该作者
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-7 11:52:31 | 只看该作者
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
只想知道 该用户已被删除
6#
发表于 2015-2-16 09:24:07 | 只看该作者
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
7#
发表于 2015-3-5 03:24:47 | 只看该作者
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
爱飞 该用户已被删除
8#
发表于 2015-3-6 14:47:33 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-13 02:09:07 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
老尸 该用户已被删除
10#
发表于 2015-3-17 16:10:39 | 只看该作者
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
分手快乐 该用户已被删除
11#
发表于 2015-3-18 19:35:07 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
若相依 该用户已被删除
12#
发表于 2015-3-23 21:52:13 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
兰色精灵 该用户已被删除
13#
 楼主| 发表于 2015-4-9 17:51:16 | 只看该作者
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
山那边是海 该用户已被删除
14#
发表于 2015-4-12 04:52:33 | 只看该作者
学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。
柔情似水 该用户已被删除
15#
发表于 2015-4-14 14:05:39 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
海妖 该用户已被删除
16#
发表于 2015-4-15 19:05:02 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
蒙在股里 该用户已被删除
17#
发表于 2015-4-16 12:12:03 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
变相怪杰 该用户已被删除
18#
发表于 2015-4-21 07:46:01 | 只看该作者
一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
admin 该用户已被删除
19#
发表于 2015-6-11 21:45:06 | 只看该作者
有疑问前,知识学习前,先用搜索。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-27 05:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表