免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2985 | 回复: 1
打印 上一主题 下一主题

关于进程打开文件数的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-19 11:05 |只看该作者 |倒序浏览
昨天问了个vmstat的工作原理,查了些资料还是一头雾水\r\n我写了一个程序,监控系统的cpu的使用率,当使用率超过一定限制时进行相应的处理\r\n我是用java开发的,运行的平台为solaris 8\r\n原程序分为2部分\r\n主程序部分和处理部分\r\n主程序是个死循环,每分钟运行一个runtime.exec(\"vmstat 1 5\"),取得结果,取得cpu的idle值\r\n当idle值小于10%时调用处理程序,然后休眠50秒\r\n由于solaris8默认的进程打开文件数为256.我这个程序每运行1个多小时就会退出(open too many files),每次调用runtime.exec(\"vmstat 1 5\")时都会打开一个文件.所以我昨天就想直接去取cpu的使用率而不去调用shell.但是现在还不知道怎么取.\r\n如果先设置ulimit -n 4000,然后运行我这程序,到现在为止一直运行正常(2个多小时了).\r\n我查看/proc/<进程号>/fd目录的文件数\r\n当文件数增加到1800左右就重新从10开始计数,这样的话问题好象解决了.但是我想知道这样对系统会不会有影响.我这程序要在移动的现网机器上运行的.请高手指教

论坛徽章:
0
2 [报告]
发表于 2006-05-19 11:23 |只看该作者
不懂java\r\n\r\n你是不是可以改改你的程序,是不是可以用\r\n\r\nwhile true\r\ndo\r\nvmstat 1 5 >/tmp/vm.log\r\nsleep 60\r\ndone\r\n\r\n来更新纪录,应该不会产生很多文件吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP