限制 Eclipse 接管 RAM

限制 Eclipse 接管 RAM

我在 Ubuntu 14.04 中使用 Eclipse 进行科学研究,我的代码消耗了大量的 RAM。当我在 Eclipse 中运行代码时,我在系统监视器中看到 RAM 使用率上升到几乎 100%,同时操作系统变得非常迟钝(例如,打开终端需要一分钟以上的时间)。有没有办法限制 Eclipse 使用的 RAM 量,以便操作系统始终保持响应?

谢谢!

答案1

当您在 Eclipse 中运行应用程序时,它会在操作系统中创建一个单独的线程。Eclipse 无法控制该线程的 RAM 使用情况。

避免系统崩溃的一种方法是增加交换分区大小。即使在这种情况下,系统也会变得非常缓慢,但不会崩溃。

还有其他方法可以控制应用程序的内存使用量,比如当使用量超过某个值时终止程序。如果您对内存使用量设置了如此严格的限制,那么您可能会遇到一些不可预测的行为/崩溃。请参阅下面讨论限制内存使用的链接。

https://unix.stackexchange.com/questions/44985/limit-memory-usage-for-a-single-linux-process

https://stackoverflow.com/questions/26860822/how-limit-memory-usage-for-a-single-linux-process-and-not-kill-the-process

我建议尝试优化代码,使其使用更少的 RAM,或者想办法将数据转储到硬盘并在需要时读取,而不是将其保留在 RAM 中。更好的方法是增加 RAM!

答案2

这里是一个专门用于解决此问题的 Perl 脚本。

介绍

超时脚本是一个资源监控程序,用于限制 Linux 下黑盒进程的时间和内存消耗。它运行您在命令行中指定的命令并监视其内存和时间消耗,如果超出限制则中断进程,并使用预设消息通知用户。

此脚本的杀手级功能(实际上也是它出现的原因)是它不仅监视直接生成的进程,还跟踪其随后分叉的子进程。您可以选择监视进程的范围是受进程组限制还是受进程树限制。

来源

相关内容