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

为什么产生“Too many open files”

阅读更多
操作系统都会限制一个进程同时打开文件的最大数量,通常linux默认的是1024.lucene有可能会导致“Too many open files”的异常,这取决于你是否正确使用lucene。

1.总是要确保打开的文件句柄关闭掉,特别是出现错误的情况,捕获该异常,并在finally块释放持有的文件句柄。请记住,java没有拆构器,不要在finalize方法里处理文件句柄,该方法不会确保都被执行的。

2.打开IndexWriter的复合模式---IndexWriter's setUseCompoundFile(true),它会减少lucene在写时的索引文件数量。

3. 不要设置一个过大的IndexWriter's mergeFactor,虽然mergeFactor越大索引数据越快,但同时也会增加打开的索引文件数。

4.如果在检索时遇到异常,调用IndexWriter's optimize()来优化索引,在优化时不能写索引。


5.确保你只实例化一个IndexSearcher,它是线程安全的,可以被多个线程同时使用。


6.调大允许一个进程同时打开的文件数,linux下设置文件数:ulimit -n <number>.
分享到:
评论

相关推荐

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

    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”错误是一个常见的性能瓶颈,尤其是在运行大量并发服务或应用时。这个问题的根本在于操作系统对每个进程可打开的文件数量有限制...

    报错:too many open files处理

    在IT行业中,我们经常遇到各种错误,其中之一是“too many open files”。这个错误通常发生在操作系统限制了同一时间可打开的文件数量,而程序试图超出这个限制时。在本篇文章中,我们将深入探讨这个问题,理解其...

    Too many open files 解决方法

    ### Too many open files 解决方法 #### 背景与问题描述 在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: 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”的处理 #### 背景与问题概述 在AIX环境中部署Weblogic时,可能会遇到一个常见的错误提示:“Too many open files”。这一错误提示通常出现在系统资源限制不当的...

    linux too many open files解决方案.docx

    Linux too many open files 解决方案 Linux 系统中的打开文件数量限制问题是系统对程序打开文件数量的限制问题。这个限制可以通过 `ulimit -a` 命令来查看。默认情况下,Linux 系统的打开文件数量限制是 1024,可以...

    Linux报too many open files的解决方案

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

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

    例如,使用以下命令可以将打开文件数设置为 655360: [root@kvm-server nginx]# ulimit -n 655360 这将临时修改 ulimit 值,直到下次登录时失效。 二、永久修改 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的原因

    mysql too many open connections问题解决方法

    MySQL中的“Too many open connections”错误通常意味着服务器已经达到了其允许的最大并发连接数,并且无法接受更多的连接请求。这是数据库管理中的一个常见问题,尤其是在高并发访问的应用中。以下是一些解决此问题...

    Linux下打开的文件过多错误

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

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

    除了文件句柄限制之外,ulimit命令还可以限制其他资源的使用,例如coreFileSize(进程崩溃转储文件大小)、maxLockedMemory(最大锁定内存大小)、openFiles(最大打开文件句柄数)以及maxUserProcesses(最大用户...

    Ansj中文分词(强大)

    Ansj中文分词是一款纯Java、主要用于自然语言处理、高精度的中文分词工具,目标是“准确、高效、自由地进行中文分词”。 ... 此分词具有自己学习的功能,所以拜托大家不要....没什么技术含量.但是很实用!

    nginx fastdfs.docx

    3. 修改 FastDFS 服务脚本中的路径,将 `/usr/local/bin/` 替换为 `/usr/bin/`,分别对 `fdfs_storaged` 和 `fdfs_trackerd` 的脚本进行修改。 **四、配置 FastDFS** 1. 对于跟踪器(tracker)的配置: - 复制 `...

    2008mvp.zip

    【描述】"2008mvp.zip" 的描述为空,没有提供进一步的具体信息。这可能意味着我们需要解压缩文件并查看其内容来获取更多信息。 【标签】"2008mvp.zip" 同样没有提供额外的上下文,标签通常用于分类或搜索,此处没有...

    http连接关闭

    too many open files问题分析和解决

    Hadoop问题处理

    在Hadoop集群中,遇到`java.io.IOException: Too many open file`和`java.lang.OutOfMemoryError`这两种异常,通常是由于资源限制或管理不当引起的。本文将深入探讨这两种错误的成因、解决策略以及如何避免它们。 1...

Global site tag (gtag.js) - Google Analytics