IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

处理Too open many files

xiaog's blog 2011-01-30 19:04:59 累计浏览 3,358 次
本机暂存

最近遇到的一个问题,其实Linux 下的Too open many files 问题很普遍,常用的解决办法 http://www.javaeye.com/topic/240389,我这里的情况还有些不一样,具体情况是,在项目中使用memcached作为缓存,同时使用xmemcached作为客户端包,程序中由于大量从网络机器中获取缓存数据,打开大量的IO,项目使用了5台机器负载均衡,唯独有一台机器报出以下异常,其他机器正常:

以下是代码片段:
[2011-01-27 18:24:35] 415615 [resin-tcp-connection-*:10002-8] INFO impl.AbstractController  - Controller has been stopped.
[2011-01-27 18:24:35] java.io.IOException: Too many open files
[2011-01-27 18:24:35]  at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method)
[2011-01-27 18:24:35]  at sun.nio.ch.EPollArrayWrapper.<INIT>(EPollArrayWrapper.java:68)
[2011-01-27 18:24:35]  at sun.nio.ch.EPollSelectorImpl.<INIT>(EPollSelectorImpl.java:52)
[2011-01-27 18:24:35]  at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18)
[2011-01-27 18:24:35]  at java.nio.channels.Selector.open(Selector.java:209)
... ...

问题显然是处在epoll上,最后修改了一下系统参数:
echo “1024″ > /proc/sys/fs/epoll/max_user_instances
echo “1306071″ > /proc/sys/fs/epoll/max_user_max_user_watches

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 解析nginx负载均衡 (累计阅读 16,622)
  2. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  3. 分布式缓存系统 Memcached 入门 (累计阅读 16,244)
  4. 我的 RHCA 之路 (累计阅读 14,013)
  5. 30分钟3300%性能提升――python+memcached网页优化小记 (累计阅读 13,742)
  6. Linux内存点滴 用户进程内存空间 (累计阅读 13,230)
  7. 给程序员新手的一些建议 (累计阅读 13,089)
  8. Linux 性能监控、测试、优化工具 (累计阅读 13,011)
  9. 关于linux内存free的一些事情 (累计阅读 12,867)
  10. ps - 按进程消耗内存多少排序 (累计阅读 12,688)