进程“java”的大量线程和内存使用量在 Mac OSX 10.6.7 上

发布于 2024-10-29 13:27:57 字数 508 浏览 0 评论 0原文

我正在使用 java + gwt 和 NetBeans 6.9.1 + Glassfish 3.0.1 开发一个 Web 应用程序。经过几个小时的开发后,我的系统性能会下降,因此我总是检查活动监视器是否有某个进程正在获取所有内存或 CPU。我总是注意到有几个名为“java”的进程会产生大约 50-60 个线程。我的系统真的很慢,直到我杀死它们,然后我才能再次正常工作。

我在开发过程中使用 NetBeans 调试模式,但即使我停止调试模式,java 进程也会继续降低系统性能,直到我终止它。我有时也会遇到“java.lang.OutOfMemoryError: Java heap space”错误,它会在我的 NetBeans 实例打开几个小时后(假设是 12-16)发生(在 Linux 环境中使用相同的 NetBenas 版本时也会发生这种情况) )。在这种情况下,我需要关闭并重新打开它以使其再次编译/工作。

有人经历过同样的问题和/或知道如何避免它们吗? 您认为这个问题可能是由我正在开发的应用程序中的某种问题引起的,还是 Netbeans 内存泄漏或错误?

I'm developing a web application using java + gwt and NetBeans 6.9.1 + Glassfish 3.0.1. After some hours of development my system performances degrade, so I always check on Activity Monitor if some process is getting all memory or cpu. I always notice a couple of process named 'java' which spawns about 50-60 threads. My system is really slow until I kill them, then I can work again normally.

I use NetBeans debug mode during development, but even when I stop the debug mode, the java process keeps degrading system performances until I kill it. I also experience sometimes the "java.lang.OutOfMemoryError: Java heap space" error, it happens after several hours (let's say 12-16) my NetBeans istance is opened (this happens to me with the same NetBenas version also in a Linux environment). In this case, I need to close and reopen it to make it compile/work again.

Anyone experienced the same issues and/or knows how to avoid them?
Do you think this problem could be caused by some sort of problem in the app I'm developing or could it be a Netbeans memory leak or bug?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾听心声的旋律 2024-11-05 13:27:57

我们对 eclipse 也有类似的问题。我们耐心地尝试了以下步骤并解决了一些问题。

编码实践

1) 在服务器端代码上验证了 db/hibernate 相关会话打开和关闭,并清理了数百个未关闭会话的不良实践实例(这改善了部署的均匀性)性能)

2) 验证 io 相关的不良做法并清理它们(这甚至可以提高部署性能)

轻量级 IDE

1)确保 IDE 仅具有您需要的插件。可以为任务定制多个 IDE 安装。

示例 -

a) GWT Dev - 一个 IDE 实例仅具有 GWT 开发所需的插件

b) 代码重构 - 一个 IDE 实例具有 findbugs、PMD , CodePro 安装

注意: 始终从 IDE 的最小设置开始(有或没有 hello world 项目代码)。分析并检查某些插件在实例化或常规使用时是否泄漏内存

正如 utsun 所说 - 你很幸运,对于我们中的一些人来说,内存不足的事情更经常发生在原始硬件上。

我希望其他人能分享一些技巧,除了投入更多硬件之外,还可以收集或寻找 IDE 的内存优化。示例 - 仅使用 gwt/maven/svn 绝对必要的插件构建 eclipse 或 netbeans。扔掉所有其他花哨的东西。

We have similar issues with eclipse. We have tried out with lot of patience the following steps and resolved some of the issues.

Coding practices

1) Verified db/hibernate related session open and close on server side code and cleaned up hundreds of instances of bad practice of not-closed sessions ( this improves even deployment performance )

2) Verified io related bad practices and clean them up ( this improves even deployment performance )

Lighweight IDE

1) Ensure the IDE has only the plugins you need. Its okay to have multiple installation of IDE customized for task.

Example -

a) GWT Dev - One IDE instance has only GWT dev required plugins only

b) Code Refactoring - One IDE instance has findbugs, PMD, CodePro installed

Note: Always start off with minimal set up of IDE ( with and without hello world project code ). Profile and check whether some plugins leak memory when instantiated or when in regular use.

And as utsun said - You are lucky the out of memory shit happens a lot more often for some of us stuck on primitive hardware.

I would love to have others sharing some tips to gather or look for memory optimization of IDE apart from throwing more hardware. Example - a eclipse or netbeans build with only the absolutely essential plugins for gwt/maven/svn. Throw all other gimmicky stuff out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文