113

有没有一种真正的方法可以让 Netbeans 更快地加载和工作?

当您编码一段时间后,它太慢并且变得更糟。它吃掉了我所有的内存。


我在 Windows 机器上,特别是 Windows Server 2008 Datacenter Edition x64、4Gb RAM、3Ghz Core 2 Duo 处理器等。我使用的是 x64 JDK。我使用 NOD32 Antivirus,因为对我来说它是机器性能最好的。

在任务管理器中 netbeans.exe 只显示不超过 20 Mb,java.exe 超过 600 Mb。

我的项目是一个 J2EE Web 应用程序,有 500 多个类,只有项目库不包括(外部)。当我说慢时,我的意思是 3、4、5 分钟或更长时间 Netbeans 被冻结。

我的项目是否对 Netbeans 来说太大了,如果它必须读取所有文件以获取错误警告、svn 状态等文件的状态?我可以禁用这一切吗?是否可以将其设置为仅在我打开文件时扫描?

我的 CPU 使用率通常为 30%,我的所有工具都打开了,我的意思是 Netbeans、MS SQL 管理器、记事本、XMLSpy、任务管理器、Delphi、VirtualBox。Netbeans 比我的虚拟化系统消耗更多的 RAM。

在 Linux 中,它与在同一台机器上的 Windows 中一样慢(Ubuntu 8.04 x64)。

确实,Netbeans 团队提高了启动速度,但是当它打开时,它开始缓存 ALL。

我使用了一些 JVM 参数来设置高内存使用率和其他参数: "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled

但它仍然很慢。

4

31 回答 31

59

当您的NetBeansEclipse IDE 似乎使用太多内存时,该问题的非常简单的解决方案:

  1. 禁用您不使用的插件。
  2. 关闭你不从事的项目。

我的 Linux Mint 和 Ubuntu 机器上的 Netbeans 7.0 也遇到了类似的问题。Netbeans 使用 > 700 MiB 空间和 50-80% CPU。然后我决定做一些清理工作。我安装了 30 个插件,但我没有使用其中的大部分。所以,我禁用了我不使用的插件,我禁用了多达 19 个插件。现在内存使用量低至 400+ MiB,CPU 使用量低至 10,最高可达 50%。

现在我的生活轻松多了。

于 2011-10-14T06:06:15.400 回答
51

只要您可以垂直扩展,就不要花时间优化您的 NB 安装:获得 SSD(以及通常更快的硬件)。

还:

  • 将所有相关文件夹(例如项目目录、临时目录)的例外添加到您的防病毒软件(或者更好,摆脱它)。
  • 不要为您的项目使用网络驱动器
    • 检查您的家庭驱动器是否是本地驱动器
    • 检查您的 IDE 是否使用非本地文件夹(例如%AppData%
于 2010-09-20T11:11:35.150 回答
24
  • 下载最新的 Netbeans
  • 删除所有不需要的插件。
  • 使用最新版本的 Java
于 2008-10-23T14:02:16.717 回答
21

我们可以使用以下 JVM 选项来加快 NetBeans 的加载/运行速度。

JVM 选项:-J-Xverify:none

  • 此选项告诉 JVM 在类加载期间不要验证字节码,并避免预加载不必要的类。

如何设置:

编辑文件C:\Program Files\NetBeans <version>\etc\netbeans.conf (如果您将它安装在其他位置,请检查您的 NetBeans 安装文件夹)

  • 找到写着的那一行

    netbeans_default_options="..."

  • 将选项添加到选项-J-Xverify:none列表中。

  • 重新启动 NetBeans。

于 2012-07-09T07:04:02.143 回答
15

停用 Git、Subversion、Local History、Spell checker 和其他未使用的插件

于 2012-11-13T15:26:47.787 回答
5

我使用的是 Windows 7。我建议右键单击 NetBeans 快捷方式,转到“属性”,然后在“目标”的“快捷方式”选项卡上,添加-J-Xmx1024m -J-Xms256m.

这设置了 JVM 的内存使用情况。Xms 是最小值,而 Xmx 是最大值。

这是目标文本字段的值:

"C:\Program Files\NetBeans 7.1\bin\netbeans.exe" --jdkhome "C:\Program Files\Java\jdk1.6.0_10" -J-Dorg.netbeans.modules.php.dbgp.level=400 -J-Xmx1024m -J-Xms256m

由于我添加了该属性,我的 NetBeans 运行得如此之快!

另一种尝试更多参考的方法在这里

etc您的目录下Netbeans-Home,编辑文件netbeans.conf文件。-Xms并且-Xmx 应该增加到允许您的程序编译的值。

netbeans.conf中的说明:

# Note that default -Xmx and -XX:MaxPermSize are selected for you automatically.
# You can find these values in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx or
# -J-XX:MaxPermSize= here or on the command line.

将值放在netbeans_default_options字符串中。例子 :

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true  -J-Dsun.awt.disableMixing=true -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Nimbus"

如何加快/释放内存窗口:

  1. 禁用 Windows 更新:

    • 打开任务管理器,打开选项卡服务,禁用 Windows 更新:

禁用win更新

  1. 点击 Ctrl + R 并输入Services.msc,然后按 Enter。
    • 排序方式Startup Type
    • 从运行的 3rd 方(非 Windows)中选择服务Automatic,右键单击,单击Properties并将启动类型更改为Manual

服务

  • 排序Status并停止您认为未使用的(第 3 方)应用程序的服务
于 2013-03-17T04:53:25.520 回答
4

它是公司的 Windows 机器吗?如果如此激进的病毒扫描程序确实会减慢现代 IDE 的速度。检查您的任务管理器是否有使用大量 CPU 或磁盘读取的进程。

于 2008-10-23T14:30:20.403 回答
4

每个人都应该注意 Sun 的 Windows Java 虚拟机不使用共享内存。这意味着您为 VM 提供的堆越多,它为自己保留的内存就越多。更多堆的优点是垃圾收集更少,并且您正在运行的 Java 应用程序的性能可能更快,但缺点是您的其他应用程序可能使用的内存更少,因此您的系统可能会感觉更慢。

于 2009-09-12T13:17:31.237 回答
3

还要对磁盘进行碎片整理。Netbeans 非常积极地创建一种或另一种形式的缓存。它们中的大多数会在某些时候持久化到磁盘上,这会影响启动时间。病毒扫描程序(尤其是赛门铁克)、桌面搜索引擎和任何其他侵入式 I/O 产品都会大大降低性能。

我注意到,Netbeans 有时可能会喜怒无常,而且它的性能在具有几乎相同规格的两台机器之间会有很大差异。我的工作机器性能很差,有时无法使用,但是当我在家用机器上使用它时速度快如闪电(在许多情况下有更大的项目)。

于 2008-10-24T15:00:41.157 回答
3

这是我etc/netbeans.conf使用G1 GC和其他一些改进的 netbeans 选项。

netbeans_default_options="-J-server -J-Xss4m -J-Xms256m -J-Xmx512m -J-XX:PermSize=256m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true - J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Xverify:none -J-XX:+UseG1GC -J-XX:+TieredCompilation - J-XX:+AggressiveOpts -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd -J-Dorg.netbeans.editor.aa.extra.hints=true"

字体设置(swing.aatex和以下)是可选的 - 根据需要设置或删除。

这些设置极大地提升了我的netbeans!

于 2014-12-02T15:59:46.677 回答
3

上次我决定研究一下为什么我的 NetBeans 运行缓慢。

我正在运行具有 16GB 内存和 3.5GHz 8 核处理器的 PC。我的 CPU 使用率约为 5-20%,内存低于 40%,但 NetBeans 比我藏在车库里的 15 年前的 PC 慢。

在找到这个主题并浏览http://wiki.netbeans.org/FaqSlowNetBeans之后,我意识到在 NetBeans 的右下角,我一直看到一个栏显示“正在扫描...”,然后尝试停止它并什么也没发生我进一步研究了“扫描……”在做什么,我意识到:

每次我启动 NetBeans 时,NetBeans 都会自动扫描所有打开的项目。

就是这样,我已经关闭了 20 个打开的项目,NetBeans 的运行速度与记事本一样快。

于 2018-01-08T13:20:55.153 回答
2

如果它在公司机器上 - 确保缓存没有存储在网络上

于 2009-02-06T23:46:20.993 回答
2

这对我有用:

netbeans_default_options="-J-client -J-Xverify:none -J-Xmx1024m -J-Xss2m -J-Xms256m -J-XX:PermSize=32m -J-Dnetbeans.logger.console=true -J-ea -J- Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true - J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes"

中的设置etc/netbeans.conf

于 2014-01-31T06:18:18.220 回答
2

关于您的 NetBeans 运行缓慢的原因的非常有用的文章:

http://wiki.netbeans.org/FaqSlowNetBeans

于 2014-06-03T07:15:45.997 回答
2

在文章中可以找到或多或少详细的描述,为什么 NetBeans 经常这么慢:

提高您的 NetBeans 性能

第一的。检查 NetBeans 在您的磁盘上实际执行的操作。在 Mac 上,您可以发出以下命令:

  sudo fs_usage | grep /path/to/workspace

在我的特殊情况下,我得到了一个不再存在的目录,但 NetBeans 一直尝试访问该文件夹:

  14:08:05 getattrlist /path/to/workspaces/pii 0.000011 java

重复了很多很多很多次。如果您有类似的问题,请在此处删除您的 NetBeans 缓存文件夹来修复它:

   ~/.netbeans/6.8/var/cache

如果您的 NetBeans.app 仍在进行大量磁盘 I/O。检查它是否正在访问 subverison 文件夹和 svncache。

我不得不使用配置文件禁用颠覆功能:

  ~/.netbeans/VERSION/config/Preferences/org/netbeans/modules/versioning.properties 

添加一行:

  unversionedFolders=FULL_PATH_TO_PROJECT_FOLDER  

资料来源:Netbeans 论坛

恕我直言,这主要与丢失文件或文件夹以及 svncache 引起的大量磁盘 I/O 有关。

于 2010-03-11T14:52:47.773 回答
2

Netbeans 太慢了,我也遇到了同样的问题,但是在停用 SVN 插件后,它现在好多了。我认为这可能会有所帮助。

祝你好运

于 2010-08-05T08:10:12.583 回答
2

为了改善 Netbeans 的启动和构建时间,应该(按此顺序):

  1. 确保有足够的可用RAM内存(在我的 64 位系统上,4GB Windows 就足够了)
  2. 购买SSD,启动时间和构建时间都不同(我的项目构建时间从 60 秒变为 6 秒!)
  3. 注意病毒扫描程序,它们会大大降低随机文件访问速度(确保它们不会扫描您的 .java 和 .class 文件!)
  4. 购买你能拿到的最快的处理器。
于 2011-02-28T08:05:55.093 回答
2

将您的 .netbeans 主文件夹放入 Ramdisk中,Netbeans 将会非常快。

我在 Ubuntu 16.04 上检测到每个按键都会导致 HDD 读取或写入操作。我有足够的理由使用 Ramdisk。作为一个有点积极的副作用,我的硬盘现在很正常(不再有 tickclickrrickrrrticktick)并且寿命更长。

于 2016-05-30T16:46:07.097 回答
1

类似于将所有内容放在 SSD 上的建议。

我从 freeBSD 运行 netbeans。netbeans 缓存文件位于我的 .netbeans 主目录中。我的主目录安装在 nfs 上,因此访问速度非常慢。将 .netbeans 移动到本地机器大大提高了性能。我在我的主目录中添加了一个从 .netbeans 到本地目录的软链接。Netbeans 在此处描述了如何更改 usedir 和 cachedir并将其列为第 4 项下的原因。

在此之前,我可以在 gui 赶上并显示它们之前在评论中写下整个句子。在我键入时出现文本后。

于 2014-02-27T20:22:19.217 回答
1

NetBeans 8.0.2 (PHP) 有两个问题:SubVersion 客户端和Twig 模板。为了显着提高整体性能,a) 禁用“Twig Templates”插件(这也会停用 Symphony2,以防您可能需要它)和 b) 使用此开关覆盖 SVN 客户端:

run.args.extra=-J-DsvnClientAdapterFactory=commandline

^ project.properties 允许单独定义 CLI 参数(这对于 RAM 设置和其他自定义也可能有意义)。猜想一旦关闭了链接的错误报告,就可以重新启用 Twig。重新扫描并不是真正的问题,而重新扫描应按时执行。

刚刚进行了更多测试并注意到,在 Linux 上,它与 Oracle JDK 一起运行比(普通)OpenJDK 运行得更顺畅——甚至已经看到它捆绑了一个版本的 NetBeans。

于 2015-03-09T05:49:16.713 回答
1

最简单的解决方案:

转到首选项->编辑器并 禁用:自动弹出完成窗口

当您需要代码完成时,使用:元键 + \ 代替。

我发现的最大问题是自动代码完成功能。当我输入时,它一直在尝试运行代码完成。这导致性能非常缓慢,因为我的项目有很多依赖的库。

最棒的是,您可以停止与编辑器对抗,因为它会在完成弹出窗口中不断出现误报。

自从我关掉它后就再也没有回头。

于 2014-03-25T08:46:50.123 回答
0

对于 Windows - 也应该适用于其他操作系统

Netbeans 就像任何其他需要对其 JVM 进行调整的 Java 应用程序一样。

请阅读以下链接以获得一些 netbeans 的基准测试结果

https://performance.netbeans.org/reports/gc/

以下设置在我的具有 4GB RAM 和 I5 四核处理器的 Windows 7 PC 中运行良好。

(检查 bin 文件夹内 netbeans 配置文件中的 netbeans_default_options 行,并将配置行替换如下)

netbeans_default_options="-XX:TargetSurvivorRatio=1 -Xverify:none -XX:PermSize=100M -Xmx500m -Xms500m -XX+UseParallelGC ${netbeans_default_options}"

小建议:垃圾收集在 JVM 堆大小中起着至关重要的作用,因为我有一个四核处理器,所以我使用了 Parallel GC。如果你有单线程处理器,请使用 UseSerialGC。根据我的经验,如果 Xmx Xms 值相同,则 JVM 在最小值和最大值之间切换不会产生性能开销。就我而言,每当我的应用程序大小试图超过 500MB 时,并行 GC 就会派上用场来清理不需要的垃圾,因此我的应用程序在我的 PC 中永远不会超过 500MB。

于 2014-04-10T01:51:55.177 回答
0

在 Windows 7 上使用 Netbeans 7.3.* 和 7.4 Beta 时遇到了同样的问题。打开和关闭一些插件,我发现是svn 插件不断将 CPU 提升到大约 27%,将我的笔记本电脑变成了烤面包机。将其关闭并再次快乐编码:)

于 2013-09-16T08:47:54.970 回答
0

对我来说,启用自动扫描源。

于 2015-06-28T20:26:09.433 回答
0

打开文件:

/Applications/NetBeans/NetBeans\ 8.0.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

我添加了一些如下所示的选项:

netbeans_default_options="-J-Dsun.java2d.opengl=true -J-Dsun.java2d.d3d=false -J-Xmx2048m ...

根据您的系统,使用 opengl 可能会对您有所帮助。我正在运行 OsX。2048m可能太多了,但似乎没有伤害:-) ...

于 2016-06-21T16:13:11.493 回答
0

在我的例子中,我通过禁用 Rainbow 获得了巨大的性能优势(它是一个用于为代码中的括号着色的插件):

Tools -> Options -> Miscellaneous -> Rainbow(取消选中启用)

在带有 Java 8 的 Netbeans 10 上进行了测试。

严重减速的问题只发生在特别大的 Java 文件(超过 5000 行代码)上,而较小的文件(在 1000 或 2000 行代码以内)则没有问题。

我进行了其他优化,但这是最相关的,因为它大大减少了 CPU 的使用量。

于 2021-01-28T13:11:50.943 回答
0

对此最简单的答案是在 $NETBEANS_HOME/etc/netbeans.conf 文件中显式设置 Xms 和 Xmx。对于一般情况,默认内存分配可以正常工作,但对于大型项目或大量项目,将这些标志显式设置为相当高的值将减轻 NB 在运行期间的大量启动滞后和运行时停滞。

例如,在我的工作站上,我通常将 NB 设置为 Xms=768m,将 Xmx 设置为 1536m 以上。显然可以根据您的需求和要求进行调整,但这应该提供一个不错的起点。

于 2022-01-21T17:31:57.853 回答
0

尝试使用 VisualVM 分析 Netbeans。如果“热点”是 org.gnome.accessibility.atkwrapper.emitsignal(),请尝试运行 Netbeans

-J-Djavax.accessibility.assistive_technologies=" "

对我来说帮助很大。

我真的不知道为什么要使用这个工具包,但看起来禁用它通常是安全的。

于 2018-12-03T15:11:52.430 回答
0

我在使用 NetBeans 8.0.2 时遇到了大问题。这是一个老问题,但也许其他人会像我一样遇到同样的问题,我找不到任何可以帮助我的答案。

我在 Windows 7 上安装了带有 Ruby on Rails 插件的 NetBeans 8.0.2。在我对某些文件所做的几乎每一次更改时,IDE 都会挂起长达 10 秒。只是大文件有问题,但它必须依赖于更多,还有其他大文件没有问题。

问题是由“提示”“Rails 3 Deprecations”引起的,我将其关闭,现在它非常快,我可以毫无问题地打开其他所有内容。
它在Tools -> Options -> Editor -> Hints.

在使用启动参数进行优化的其他答案中也有一些建议。我发现这些关于 JVM-switches 的链接在测试优化时帮助了我(但事实证明这些设置与我的问题无关),它们很旧但有一些有用的信息:
Explanation of JVM-switches
一些(旧)建议

于 2015-09-23T21:01:14.653 回答
0

关闭您正在运行的所有实例。您可能有一段时间没有关闭它们中的任何一个,导致它们堆积起来并在后台运行。因此导致滞后/使程序运行缓慢。

于 2020-03-10T08:52:25.620 回答
-1

验证您的项目文件夹是否有一个包含框架文件或库的文件夹(例如:Laravel 有一个文件夹供应商) - 您不直接使用的文件。单击您的“项目”> 属性。在左侧,选择“忽略文件夹”(我不知道英文如何,但在“框架”之前)。在右侧,单击“添加文件夹”,选择 de 文件夹 - 这将使您的 Netbeans 8 更快。这个对我有用。

于 2016-03-16T18:45:09.877 回答