【问题标题】:Disk leak on Ubuntu with Hadoop and Eclipse带有 Hadoop 和 Eclipse 的 Ubuntu 上的磁盘泄漏
【发布时间】:2014-04-07 17:12:03
【问题描述】:

我在带有 Windows 8 主机的 Ubuntu 12 VirtualBox Guest 中使用 Hadoop 和 Eclipse 来开发 MapReduce 程序。我在单元测试期间使用了大量数据,显然有一些内存泄漏,因为 hadoop 程序在几次试验后抛出了磁盘错误。我关闭了 Eclipse,但内存仍然没有显示在我的 Windows 任务管理器中。重新启动 Ubuntu 机器后,我可以再次运行程序,直到出现磁盘错误。有没有人遇到过类似的问题或知道如何解决这个问题?

【问题讨论】:

  • 在假设 Eclipse、Hadoop、JRE 或 Ubuntu 中存在错误之前,最好检查您的代码是否存在泄漏。 90% 的情况是你的代码有问题。
  • @m0skit0,我关闭了我的程序,退出了 Eclipse 并关闭了一切。我的代码仍然会留下不好的东西吗?由于这是一个java程序,所以在我的程序被杀死后,所有内存都应该被gc清除?
  • 为什么是-1?也可能是缓存问题?
  • 是的,你是对的,它应该被释放,但如果你生成一些服务器或单独的进程,它可能仍在单独的 JVM 中运行。您可以使用ps -A | grep java 检查所有正在运行的 Java 进程。我没有投反对票,但对我来说这个问题实际上是题外话。
  • @m0skit0,谢谢。也许我应该以不同的方式提出这个问题。我并不是说我提到的所有软件都存在问题,只是说当我使用所有这些软件时发生了一些不好的事情。我尝试释放缓存,但任务管理器中的内存仍然相同。可能是我没有以正确的方式释放缓存。感谢您的投入。我将 grep for java 并再次检查。

标签: java eclipse ubuntu hadoop memory-leaks


【解决方案1】:

当我运行大数据时,eclipse中的程序以磁盘空间错误结束并且没有清除tmp文件夹。我手动删除了 tmp 文件夹中的 hadoop 文件,我又看到了磁盘空间。在这种情况下,删除缓存没有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多