`
BlackWing
  • 浏览: 200452 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux下too many open files问题

阅读更多
在solr相关程序运行一段时间后,很容易出现too many open files错误,以前因为找不到有效的解决办法(solr本身已经优化),所以只能用ulimit -SHn 20000来增大进程open files的数目。

今天意外的找到一个办法,似乎能比较好解决问题。

这个一方面可以优化solr,另一方面,我自己调用httpclient的代码没有设置好。主要是通过设置PostMethod的setRequestHeader("Connection","close"),使程序获取完数据后,立刻释放连接,减少close_wait的连接数。


文章在此:

http://blog.sina.com.cn/s/blog_4550f3ca01010g9n.html
分享到:
评论
4 楼 BlackWing 2012-12-14  
hrdxwandg 写道
你好,我也遇到这个问题,但是我用的是httpclient4.2.1,里面没有这个函数了,要是也想做对应的修改,该怎么做呢?先谢过啦~


我那个设置connection close的方法是直接在http client设置,而不是solr的接口。close_wait太多可以把tomcat的maxKeepAliveRequests设为1
3 楼 hrdxwandg 2012-11-29  
BlackWing 写道
hrdxwandg 写道
你好,我也遇到这个问题,但是我用的是httpclient4.2.1,里面没有这个函数了,要是也想做对应的修改,该怎么做呢?先谢过啦~

其实这个solr错误可以参考《Apache.Solr.3.1.Cookbook》这本书上的方法优化。新版的httpclient没用过,看了下api,或者你试试
HttpPost.setHeader("Connection","close");


非常感谢你的回复,我看了你说的那本书,里面讲解的主要是在创建索引的时候进行了优化。但是我现在的问题是索引文件数不多,主要还是在连接时有很多close_wait状态占用了文件数。

你说用HttpPost.setHeader,那这个怎么和HttpClient联系起来,并作为HttpSolrServer的参数呢?
	HttpPost httpPost = new HttpPost();
			httpPost.setHeader("Connection","close");
				
			HttpClient httpClient = new DefaultHttpClient();
			httpClient.execute(httpPost);
			HttpSolrServer server = new HttpSolrServer(url,httpClient);
	


这么处理有问题,但是不知道该怎么将HttpPost和HttpSolrServer联系起来。
最近才接触这个东西,一直没搞明白,不好意思,再次麻烦了~
2 楼 BlackWing 2012-11-28  
hrdxwandg 写道
你好,我也遇到这个问题,但是我用的是httpclient4.2.1,里面没有这个函数了,要是也想做对应的修改,该怎么做呢?先谢过啦~

其实这个solr错误可以参考《Apache.Solr.3.1.Cookbook》这本书上的方法优化。新版的httpclient没用过,看了下api,或者你试试
HttpPost.setHeader("Connection","close");
1 楼 hrdxwandg 2012-11-26  
你好,我也遇到这个问题,但是我用的是httpclient4.2.1,里面没有这个函数了,要是也想做对应的修改,该怎么做呢?先谢过啦~

相关推荐

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是由于进程打开的文件数量超过了操作系统的限制,导致服务器...

    Too many open files 问题的解决.txt

    ### Too many open files 问题详解与解决方案 在Linux系统中,“Too many open files”错误是一个常见的性能瓶颈,尤其是在运行大量并发服务或应用时。这个问题的根本在于操作系统对每个进程可打开的文件数量有限制...

    Linux报too many open files的解决方案

    Linux系统在运行时经常会出现"too many open files"(文件打开过多)的错误,这是一个非常常见的问题,通常发生在当系统运行的应用程序尝试打开的文件数量超过了系统限制时。为了解决这个问题,我们可以从两个方面...

    Too many open files 解决方法

    在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: Too many open files”。这种异常通常发生在高并发环境下,例如网站访问量显著增加时。在Windows环境中长时间...

    报错:too many open files处理

    总的来说,“too many open files”是一个常见的运行时问题,通过理解操作系统限制和程序设计原则,我们可以有效地预防和解决这个问题。对于开发者而言,熟悉这些技巧不仅能提高应用的稳定性和性能,还能避免因错误...

    linux too many open files解决方案.docx

    Linux too many open files 解决方案 Linux 系统中的打开文件数量限制问题是系统对程序打开文件数量的限制问题。...通过修改打开文件数量限制和核心文件大小限制,可以解决 Linux 系统中的 Too many open files 问题。

    java.io.FileNotFoundException: *****(Too many open files)

    在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统的限制。这个错误通常出现在处理大量文件或长时间运行的程序中,尤其...

    AIX关于Weblogic的报错_Too_many_open_files_的处理

    通过上述步骤,我们可以有效地解决AIX环境下Weblogic遇到的“Too many open files”问题。这不仅涉及了系统层面的资源限制调整,还包括了应用级别的优化措施。在实际操作过程中,还需要根据具体情况灵活调整,确保...

    访问应用很慢,访问Nginx时,报错:accept() failed (24 Too many open files).docx

    这个问题通常是由于 Nginx 的连接数超过了系统设定的最大值造成的。下面是解决这个问题的方法。 一、临时修改 ulimit 值 可以使用 ulimit 命令来临时修改打开文件数的限制。例如,使用以下命令可以将打开文件数...

    Python错误提示:[Errno 24] Too many open files的分析与解决

    在Python编程过程中,可能会遇到一个常见的错误提示:“[Errno 24] Too many open files”。这个错误通常意味着你的程序尝试打开的文件句柄超过了操作系统允许的最大限制。下面我们将深入探讨这个问题的原因、如何...

    socket accept报too many open files的原因

    socket accept报Too many open files的原因

    Linux下打开的文件过多错误

    Linux下运行tomcat或者was出现java.net.SocketException: 打开的文件过多错误 tomcat报“too many open files”的错误,解决办法如下:

    mysql too many open connections问题解决方法

    MySQL中的“Too many open connections”错误...通过以上措施,可以有效地解决或预防“Too many open connections”的问题,保证MySQL服务器的稳定运行。同时,定期审查并调整这些设置,以适应应用程序的增长和变化。

    39 案例实战:如何解决经典的Too many connections故障?背后原理是什么.pdf

    总结来说,解决Too many connections的问题需要综合考虑Linux系统层面的文件句柄限制和MySQL配置层面的最大连接数设置。同时,通过ulimit命令来调整每个进程的资源限制,也是保证系统稳定运行的一个重要手段。调整...

    nginx fastdfs.docx

    以下是一份详细的搭建步骤,每个步骤均经过验证,适用于 Linux 环境。 **一、环境准备** 首先,确保系统已经安装了必要的依赖包,包括: 1. zlib 和 zlib-devel:用于压缩和解压缩数据。 2. pcre 和 pcre-devel:...

    Ansj中文分词(强大)

    如果你发现此模式分词存在问题.可以看.新词发现.是此分词的初始版本! 此分词保证了准确率,具有人名识别的功能! 此分词结果,具有新词发现,人名识别,机构名识别.也许准确率稍差.但是非常具有应用价值! 献给广大使用...

    Linux 下应用程序最大打开文件数的理解和修改.docx

    在Linux操作系统中,...总之,理解并调整Linux中的文件打开数限制是解决“Too many open files”问题的关键。通过监控和优化进程的文件管理,以及适当地调整系统和用户级别的限制,可以确保程序能够高效稳定地运行。

    2008mvp.zip

    1. **微软最有价值专家(MVP)计划**:这是一个由微软公司设立的荣誉奖项,授予那些在技术社区中分享知识、帮助他人解决问题并对微软技术做出贡献的专家。 2. **申请流程**:文件可能详细介绍了2008年申请MVP的过程,...

    http连接关闭

    too many open files问题分析和解决

Global site tag (gtag.js) - Google Analytics