Java 使用Hadoop和Eclipse的Ubuntu上的磁盘泄漏

Java 使用Hadoop和Eclipse的Ubuntu上的磁盘泄漏,java,eclipse,ubuntu,hadoop,memory-leaks,Java,Eclipse,Ubuntu,Hadoop,Memory Leaks,我在Ubuntu12VirtualBox来宾和Windows8主机中使用Hadoop和Eclipse开发MapReduce程序。我在单元测试期间使用了大量数据,显然在hadoop程序经过几次测试后抛出磁盘错误时存在一些内存泄漏。我关闭了eclipse,但是内存仍然没有显示在我的Windows任务管理器中。重新启动Ubuntu机器后,我可以再次运行程序,直到出现磁盘错误。有没有人遇到过类似的问题或者知道如何解决这个问题?当我运行大数据时,eclipse中的程序以磁盘空间错误结束,并且没有清除tmp

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

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

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