栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用lsof对“打开太多文件”进行故障排除

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用lsof对“打开太多文件”进行故障排除

定义

  • java- 打开文件的过程。
  • 25426- 这应该是实际的PID。如果没有,请通过发布标题让我们知道它是什么。
  • 420 w-文件描述符编号,后跟打开方式。(读/写)
  • 0,8- 主要次要设备标识。
  • 273664482- 文件的inode。
  • -一个FIFO管道是在你的应用程序中打开。

解释

您没有关闭所有流。在读取或写入模式下,有许多打开的文件描述符正在写入未命名的管道。最常见的情况是人们使用Runtime.getRuntime.exec()然后继续保持与流程关联的流打开。您可以使用commons
IO utils库关闭它们,也可以自己关闭它们。

    try    {        p = Runtime.getRuntime().exec("something");    }    finally    {        if (p != null)        { IOUtils.closeQuietly(p.getOutputStream()); IOUtils.closeQuietly(p.getInputStream()); IOUtils.closeQuietly(p.getErrorStream());        }    }

如果这不是问题,则需要深入研究代码库,确定泄漏的流在何处并将其插入。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号