如何提高Netbeans性能?
有没有真正的方式让Netbeans加载和工作更快?
当你编码一段时间后,它太慢了,变得更糟。 它吃我所有的RAM。
我在Windows机器上,特别是Windows Server 2008 Datacenter Edition x64,4Gb的RAM,3Ghz Core 2 Duo处理器等。我正在使用x64 JDK。 我使用NOD32 Antivirus,因为对我来说这是最好的机器性能。
在任务pipe理器netbeans.exe只显示不超过20 Mb,超过600Mb的java.exe。
我的项目是一个J2EE Web应用程序,超过500个类,只有项目库不包括(外部)。 而当我说慢,我的意思是3,4,5分钟或更多的Netbeans被冻结。
如果Netbeans必须读取所有文件以获取错误警告,svn状态等文件状态,那我的项目是否太大? 我可以禁用所有这一切吗? 是否可以将其设置为仅在打开文件时进行扫描?
我的CPU使用率通常在30%,我所有的工具都打开了,我的意思是Netbeans,MS SQL Manager,记事本,XMLSpy,任务pipe理器,Delphi,VirtualBox。 Netbeans比我的虚拟化系统吃更多的RAM。
在Linux中,它和在同一台机器上的Windows一样慢(Ubuntu 8.04 x64)。
确实,Netbeans团队提高了启动速度,但是当它打开时,它开始cachingALL。
我已经使用了一些JVM参数来设置高内存使用率和其他: "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled
但还是很慢。
不要花费时间来优化您的NB安装,只要您可以垂直扩展:获得一个SSD(通常更快的硬件)。
也:
- 为所有相关的文件夹(例如项目目录,临时目录)添加一个例外到你的反病毒软件(或更好的,摆脱它)。
- 不要为您的项目使用networking驱动器
- 检查你的家庭驱动器是否是本地的
- 检查您的IDE是否使用非本地文件夹(例如
%AppData%
)
当您的NetBeans或Eclipse IDE似乎使用太多内存时,问题的解决scheme非常简单:
- 禁用不使用的插件。
- closures你不在的项目。
在我的Linux Mint以及Ubuntu的盒子上,我正面临着与Netbeans 7.0类似的问题。 Netbeans使用了> 700兆空间和50-80%的CPU。 然后我决定做一些清理。 我有30个插件安装,我没有使用他们中的大多数。 所以,我禁用了我没有使用的插件,一个高达19个插件被禁用。 现在内存使用下来到400 + MiB和CPU使用下来到10和在最大到50%。
现在我的生活变得容易多了。
- 下载最新的Netbeans
- 删除所有你不需要的插件。
- 使用最新版本的Java
我们可以使用下面的JVM选项使NetBeans加载/运行速度更快。
JVM选项: -J-Xverify:none
- 这个选项告诉JVM不要在类加载期间validation字节码,并避免预加载不必要的类。
如何设置:
编辑文件C:\Program Files\NetBeans <version>\etc\netbeans.conf
(如果您安装在其他位置,请检查NetBeans安装文件夹)
-
find说的那一行
netbeans_default_options = “…”
-
将选项
-J-Xverify:none
添加到选项列表中。 -
重新启动NetBeans。
停用Git,Subversion,本地历史,拼写检查和其他未使用的插件
它是一个公司的Windows机器? 如果这么激进的病毒扫描程序可以真正减慢现代IDE。 检查您的任务pipe理器是否使用大量CPU或磁盘读取的进程。
每个人都应该注意到,Sun的Java虚拟机for Windows不使用共享内存。 这意味着你给虚拟机的堆越多,它保存的内存就越多。 更多的堆的好处是垃圾收集less,也许运行的Java应用程序的性能更快,但缺点是您的其他应用程序可能有更less的内存使用,并且由于这个原因您的系统可能会感觉较慢。
也整理您的磁盘碎片。 Netbeans非常积极地创build这种或那种forms的caching。 他们中的大多数会持续到磁盘在某个点或另一个可能会影响启动时间。 病毒扫描程序(特别是赛门铁克),桌面search引擎以及任何其他侵入式I / O产品可能会大幅降低性能。
我已经注意到,Netbeans有时会发生变化,两台机器的性能差别很大,几乎相同。 我的工作机器性能糟糕,有时无法使用,但是当我在家用机器上使用它时(在很多情况下使用更大的项目),它闪电般快速。
这是我使用G1 GC和其他一些改进的etc/netbeans.conf
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很多!
我使用Windows 7.我build议右键单击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运行得非常快!
另一种方法来尝试更多的参考这里
在Netbeans-Home
下的etc
目录下,编辑文件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_optionsstring中。 例如:
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"
如何加快/释放记忆窗口:
-
禁用Windows Update:
- 打开任务pipe理器,打开选项卡服务,禁用Windows更新:
- 按Ctrl + R键入
Services.msc
,然后按Enter键。- 按
Startup Type
sorting - 从运行
Automatic
第三方(非Windows)中select服务,右键单击,单击Properties
,将启动types更改为Manual
- 按
- 按
Status
sorting并停止(第三方)应用程序,您认为未使用的服务
如果在公司机器上 – 确保高速caching不存储在networking上
为了改善Netbeans的启动和构build时间,应该(按此顺序):
- 确保一个有足够的可用RAM内存(在我的64位系统上,4GB Windows就足够了)
- 购买固态硬盘 ,它使启动时间和build造时间(我的项目build设时间从60秒到6秒!)的所有差异!
- 注意病毒扫描程序 ,它们可以大大减缓随机文件的访问速度(确保它们不会扫描.java和.class文件!)
- 购买最快的处理器,你可以得到你的手。
Netbeans的速度太慢,我也遇到了同样的问题,但是现在停用SVN插件后现在好多了。 我认为这可能有帮助。
祝你好运
真正有用的文章介绍为什么你的NetBeans很慢:
一个或多或less的详细描述,为什么NetBeans如果经常慢可以在文章中find:
提高您的NetBeans性能
第一。 请检查NetBeans实际上在您的磁盘上执行的操作。 在Mac上,您可以发出以下命令:
sudo fs_usage | grep /path/to/workspace
在我的特殊情况下,我得到了一个不再存在的目录,但是NetBeans总是试图访问这个文件夹:
14:08:05 getattrlist /path/to/workspaces/pii 0.000011 java
重复许多次,许多次。 如果您遇到类似问题,请通过在此处删除NetBeanscaching文件夹来修复它:
~/.netbeans/6.8/var/cache
如果您的NetBeans.app仍在制作大量的磁盘I / O。 检查它是否访问subverison文件夹和svncache。
我必须禁用configuration文件的颠覆function:
~/.netbeans/VERSION/config/Preferences/org/netbeans/modules/versioning.properties
添加一行:
unversionedFolders=FULL_PATH_TO_PROJECT_FOLDER
消息来源: Netbeans论坛
恕我直言,它主要与很多由于缺less文件或文件夹和svncache导致的磁盘I / O有关。
这适用于我:
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
中的设置。
类似于将所有内容放在SSD上的build议。
我从freeBSD运行netbeans。 netbeanscaching文件位于.netbeans的主目录中。 我的主目录被挂载在nfs上,所以访问非常慢。 移动.netbeans到本地机器大大提高了性能。 我在我的主目录中添加了一个从.netbeans到本地目录的软链接。 Netbeans描述了如何在这里更改usedir和cachedir ,并将其列为项目4下的一个原因。
在此之前,我可以在gui抓到并展示他们之前写下整个句子。 我input文字后显示。
最简单的解决scheme
转到首选项 – >编辑器并禁用:自动popup完成窗口
当您需要代码完成时,请使用:元键+ \。
我发现的最大的问题是自动代码完成function。 当我input时,它一直试图运行代码完成。 这是因为我的项目有很多依赖的库,导致性能非常低下。
最棒的是你可以停止与编辑器的对抗,因为它在完成popup窗口中不断拾取误报。
自从我把它关掉以后,还没有回头。
NetBeans 8.0.2(PHP)有两个问题:SubVersion客户端和Twig模板 。 为了大幅度提高整体性能,a)禁用“Twig模板”插件(如果您需要,也可以禁用Symphony2),b)使用此开关覆盖SVN客户端:
run.args.extra=-J-DsvnClientAdapterFactory=commandline
^ project.properties允许单独定义CLI参数(这也可能对RAM设置和其他自定义有意义)。 猜猜可以重新启用Twig一旦链接的bug报告已经closures。 重新扫描不是真正的问题,而重新扫描应该及时执行。
刚刚进行了一些testing,并发现,在Linux上,它比Oracle(常见的)OpenJDK运行更顺畅 – 已经看到甚至有一个版本的NetBeans与它捆绑在一起。
将你的.netbeans Homefolder放入一个Ramdisk和Netbeans,它的速度会非常快。
我在我的Ubuntu 16.04上检测到每个按键都会导致硬盘读取或写入操作。 理由让我使用Ramdisk。 作为一个积极的副作用,我的硬盘是相当现在(不再tickclickrrickrrrticktick),并有一个更长的生活。
在Windows 7上有与Netbeans 7.3。*和7.4 Beta相同的问题。打开和closures一些插件,我发现这是一个svn插件 ,它使CPU持续增加到27%左右,将我的笔记本电脑变成了一个烤面包机。 把它关掉再次代码高兴:)
对于Windows – 也适用于其他操作系统
Netbeans就像任何其他Java应用程序需要调整其JVM。
请阅读以下链接,获得netbeans的一些基准testing结果
https://performance.netbeans.org/reports/gc/
下面的设置工作正常,在我的Windows 7电脑与4GB内存和I5四核心处理器。
(检查bin文件夹中的netbeansconfiguration文件中的netbeans_default_options行,并replaceconfiguration行如下)
netbeans_default_options =“ – XX:TargetSurvivorRatio = 1 -Xverify:none -XX:PermSize = 100M -Xmx500m -Xms500m -XX + UseParallelGC $ {netbeans_default_options}”
小build议:垃圾收集在JVM堆大小中起着至关重要的作用,因为我有一个四核处理器,所以我使用了Parallel GC。 如果您有单线程处理器,请使用UseSerialGC。 根据我的经验,如果Xmx Xms值相同,则JVM在最小值和最大值之间切换时不会有性能开销。 在我的情况下,每当我的应用程序大小超过500MB,并行GC来派上用场,清理垃圾,所以我的应用程序永远不会超过500MB在我的电脑。
对于我来说,开始自动扫描来源。
我在NetBeans 8.0.2中遇到了很大的问题。 这是一个古老的问题,但也许其他人最终会在这里像我一样的问题,我发现没有任何答案,帮助我的任何地方。
我在Windows 7上安装了Ruby on Rails插件的NetBeans 8.0.2。几乎在某些文件中所做的每个更改都将IDE挂起了10秒钟。 这只是一个大文件的问题,但它必须依赖更多,还有其他大文件没有问题。
问题是由“提示”“Rails 3 Deprecations”造成的,我把它关掉了,现在速度非常快,我可以把所有其他的东西打开,没有任何问题。
它在Tools -> Options -> Editor -> Hints
。
还有一些关于优化启动参数的答案也有一些build议。 我发现了这些有关JVM交换机的链接,这些链接在testing时会帮助我进行优化(但事实certificate这些设置与我的问题无关),它们很老,但有一些有用的信息:
JVM交换机的说明 。
一些(旧的)build议
打开文件:
/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。 2048米可能太多了,但似乎没有伤害:-) …
validation您的项目文件夹是否有包含您的框架或库文件的文件夹(例如:Laravel有一个文件夹供应商) – 您不直接使用的文件。 点击你的“项目”>属性。 在左侧,select“忽略文件夹”(我不是没有英文怎么样,但在“框架”之前)。 在右侧,点击“添加文件夹”,selectde文件夹 – 这将使您的Netbeans 8更快。 这个对我有用。