清除已删除的内存映射文件更快?

我们使用Tika进行PDF文本内容提取以进行search。 我看到大量临时文件,似乎现在运行我们的文件句柄。

我们在CentOS 5.5上。 对于我们的search系统,我们以前碰到了打开的文件句柄(/etc/sysctl.conf)fs.file-max = 65535

在我的进程中查看lsof时,我看到很多标记为DEL的文件(删除的内存映射文件)。 如果我停止提交要索引的新文件,这些文件将在几分钟后清除。

java 11105 root DEL REG 104,2 1278402 /tmp/+~JF4155000471009101661.tmp

我可以调整内核以更快地清除这些DEL文件,或者我应该增加文件句柄的数量吗? 如果是这样,我们可以安全地走多高? 我有足够的内存可以给更多的内核。

谢谢

大卫

我找不到如何增加fs.file-max影响系统的好参考。 据推测,这使得你的内核消耗更多的内存,因为跟踪打开文件的结构越来越大。 我build议增加一个像128K这样的大数字,并留意/proc/sys/fs/file-nr来查看实际使用的文件数量。

vmstat在这段时间显示几分钟? vmstat会显示你是否在CPU,交换,内存的I / O绑定。 我会从那里开始。