web-dev-qa-db-fra.com

Comment améliorer les performances de Netbeans?

Existe-t-il un moyen réel d’amener Netbeans à se charger et à travailler plus rapidement?

Il est trop lent et s’aggrave lorsque vous codez depuis un certain temps. Il mange toute ma RAM.


Je suis sur une machine Windows, en particulier Windows Server 2008 Édition Datacenter x64, 4 Go de RAM, processeur 3Ghz Core 2 Duo, etc. J'utilise le JDK x64. J'utilise l'antivirus NOD32 car c'est pour moi le meilleur en termes de performances de la machine.

Dans le Gestionnaire des tâches, netbeans.exe n’affiche que 20 Mo au maximum, Java.exe plus de 600 Mo.

Mon projet est une application Web J2EE, plus de 500 classes, uniquement les bibliothèques de projet non incluses (externes). Et quand je dis lent, je veux dire 3, 4, 5 minutes ou plus Netbeans est gelé.

Mon projet est-il simplement trop volumineux pour Netbeans, s'il doit lire tous les fichiers pour obtenir l'état des fichiers, tels que les avertissements d'erreur, le statut svn, etc.? Puis-je désactiver tout cela? Est-il possible de le configurer pour qu'il analyse uniquement lorsque j'ouvre un fichier?

Mon utilisation du processeur est normalement à 30% avec tous mes outils ouverts, je veux dire Netbeans, Gestionnaire MS SQL, Bloc-notes, XMLSpy, Gestionnaire des tâches, Delphi, VirtualBox. Netbeans mange plus RAM que mes systèmes virtualisés.

Sous Linux, il est aussi lent que sous Windows sur la même machine (Ubuntu 8.04 x64).

Il est vrai que l’équipe Netbeans a amélioré la vitesse de démarrage mais lorsqu’elle s’ouvre, elle commence à mettre TOUT en mémoire cache. 

J'ai utilisé certains paramètres de la machine virtuelle Java pour définir une utilisation élevée de la mémoire, tandis que d'autres: "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled

Mais c'est encore lent.

105
yeradis

Solution très simple au problème lorsque votre NetBeans ou Eclipse IDE semble utiliser trop de mémoire:

  1. Désactivez les plugins que vous n'utilisez pas.
  2. fermez les projets sur lesquels vous ne travaillez pas.

Je rencontrais un problème similaire avec Netbeans 7.0 sur ma machine Linux Mint et aussi sur Ubuntu. Netbeans utilisait plus de 700 Mio d’espace et 50 à 80% de l’UC . Puis j’ai décidé de faire un nettoyage . J'ai donc désactivé les plugins que je n'utilisais pas, mais j'ai bloqué 19 plugins. maintenant, la mémoire utilise jusqu'à 400+ Mo et la CPU utilise jusqu'à 10 et 50% maximum.

Maintenant, ma vie est beaucoup plus facile.

52
Ravish

Ne perdez pas de temps à optimiser votre installation NB tant que vous pouvez évoluer verticalement: procurez-vous un SSD (et un matériel plus rapide en général).

Également:

  • Ajoutez une exception pour tous les dossiers pertinents (par exemple, répertoire du projet, répertoire temporaire) à votre logiciel antivirus (ou mieux, supprimez-la). 
  • N'utilisez pas de lecteurs réseau pour vos projets
    • vérifiez si votre lecteur à domicile est local
    • vérifiez si votre IDE utilise des dossiers non locaux (par exemple, %AppData%)
48
atamanroman
  • Téléchargez les derniers Netbeans
  • Supprimez tous les plugins dont vous n'avez pas besoin.
  • Utilisez la dernière version de Java
24
Joshua

Nous pouvons utiliser l’option JVM suivante pour rendre NetBeans plus rapide.

Option JVM: -J-Xverify:none

  • cette option indique à JVM de ne pas vérifier le code d'octet lors du chargement de classe et évite le préchargement de classes inutiles.

Comment régler:

Editez le fichier C:\Program Files\NetBeans <version>\etc\netbeans.conf (Vérifiez votre dossier d’installation de NetBeans si vous l’avez installé ailleurs)

  • Trouvez la ligne qui dit 

    netbeans_default_options = "..."

  • Ajoutez l'option -J-Xverify:none à la liste des options.

  • Redémarrez NetBeans.

20
shihabudheen

désactiver Git, Subversion, Histoire locale, correcteur orthographique et autres plugins inutilisés 

15
hamdam

Est-ce une machine Windows d'entreprise? Si les antivirus sont si agressifs, ils peuvent réellement ralentir les IDE modernes. Recherchez dans votre gestionnaire de tâches des processus qui utilisent beaucoup de lectures de processeurs ou de disques.

4
devstopfix

Tout le monde devrait noter que la machine virtuelle Java de Sun pour Windows n'utilise pas de mémoire partagée. Cela signifie que plus vous donnez de tas à votre machine virtuelle, plus elle garde de la mémoire. L'avantage de plus de tas est moins de garbage collection, et peut-être une performance plus rapide de l'application Java que vous exécutez, mais l'inconvénient est que vos autres applications peuvent avoir moins de mémoire à utiliser, ce qui peut ralentir votre système.

4
James Tikalsky

J'utilise Windows 7. Je suggère de cliquer avec le bouton droit de la souris sur le raccourci NetBeans, d'aller à Propriétés, et sous l'onglet Raccourci de la cible, ajoutez -J-Xmx1024m -J-Xms256m.

Ceci définit l'utilisation de la mémoire de la machine virtuelle Java. Xms est la valeur minimale, alors que Xmx est la valeur maximale.

C'est la valeur de la zone de texte cible:

"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

Depuis que j'ajoute cet attribut, mes NetBeans fonctionnent si vite!

Une autre façon d'essayer More Reference Here

Dans le répertoire etcsous votre Netbeans-Home, éditez le fichier netbeans.conf. -Xms et -Xmx doivent être augmentés aux valeurs permettant à votre programme de se compiler.

instructions dans 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.

Placez les valeurs dans la chaîne netbeans_default_options . Exemple :

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"

Que faire pour accélérer/libérer des fenêtres de mémoire:

  1. Désactiver Windows Update:

    • Ouvrez le Gestionnaire des tâches, ouvrez l'onglet Services, désactivez Windows Update:

disable win update

  1. Frappé Ctrl + R et tapez Services.msc et appuyez sur Entrée.
    • Trier par Startup Type
    • Sélectionnez Services de tiers (non Windows) qui exécutent Automaticname__, Cliquez avec le bouton droit de la souris, cliquez sur Propertieset remplacez le type de démarrage par Manualname__.

services

  • Triez par Statuset Arrêtez les services de l'application (tierce partie) que vous pensez inutilisée
3
toha

Défragmentez également votre disque. Netbeans est très agressif lorsqu'il s'agit de créer des caches d'une forme ou d'une autre. La plupart d'entre eux sont conservés sur le disque à un moment ou à un autre, ce qui peut affecter le temps de démarrage. Les analyseurs de virus (Symantec en particulier), les moteurs de recherche de bureau et tout autre produit d’E/S intrusif peuvent réduire considérablement les performances.

J'ai remarqué que les Netbeans peuvent parfois être tempéramentaux et que leurs performances peuvent varier considérablement entre deux machines dont les spécifications sont presque identiques. Ma machine de travail a des performances épouvantables et est parfois inutilisable, mais elle est extrêmement rapide lorsque je l'utilise sur ma machine personnelle (avec de plus gros projets dans de nombreux cas). 

3
James Schek

Voici mes options de netbeans pour etc/netbeans.conf en utilisant G1 GC et quelques autres améliorations.

netbeans_default_options = "- J-serveur -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 "

Les paramètres de police (swing.aatex et suivants) sont facultatifs - définissez-les selon vos besoins ou supprimez-les.

Ces paramètres boivent beaucoup mon netbeans!

3
ollo

Pour améliorer les temps de démarrage et de génération de Netbeans, il convient (dans cet ordre):

  1. Assurez-vous qu’un d’entre eux dispose de suffisamment de mémoire RAM (4 Go de Windows suffisent sur mon système 64 bits)
  2. Achetez un SSD, cela fait toute la différence en termes de temps de démarrage et de construction (le temps de construction de mon projet passe de 60 à 6 secondes!)
  3. Faites attention au scanner virus, ils peuvent considérablement ralentir l’accès aléatoire aux fichiers (veillez à ne pas analyser vos fichiers .Java et .class!)
  4. Achetez le processeur le plus rapide sur lequel vous pouvez mettre la main.
2
Kdeveloper

Une description plus ou moins détaillée, pourquoi NetBeans si lente peut souvent être trouvée dans l'article:

Améliorez vos performances NetBeans

Premier. Vérifiez ce que NetBeans fait réellement sur votre disque. Sur un Mac, vous pouvez exécuter cette commande:

  Sudo fs_usage | grep /path/to/workspace

Dans mon cas particulier, j'ai un répertoire qui n'existait plus, mais NetBeans essaie d'accéder au dossier tout le temps:

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

Répété plusieurs fois. Si vous rencontrez un problème similaire, corrigez-le en supprimant votre dossier de cache NetBeans ici:

   ~/.netbeans/6.8/var/cache

Si votre NetBeans.app génère toujours beaucoup d’E/S sur disque. Vérifiez s'il accède aux dossiers de sous-inversion et à svncache.

J'ai dû désactiver les fonctionnalités de Subversion avec le fichier de configuration:

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

ajouter une ligne:

  unversionedFolders=FULL_PATH_TO_PROJECT_FOLDER  

SOURCE: Forums Netbeans

IMHO c'est principalement lié à beaucoup d'E/S de disque causées par des fichiers ou des dossiers manquants et svncache.

2
schmunk

J'ai eu le même problème avec Netbeans, qui est si lent, mais il est maintenant beaucoup mieux après la désactivation du plug-in SVN ... Je pense que cela peut aider. 

Bonne chance

2
ismail

Cela fonctionne pour moi:

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 "

Paramètres dans le etc/netbeans.conf.

2
J.G. te H.

J'ai décidé de rechercher la dernière fois pourquoi mon NetBeans était lent.

J'utilise un ordinateur avec 16 Go de RAM et un processeur à 8 GHz à 3,5 GHz. Mon utilisation du processeur est d'environ 5 à 20%, ma mémoire est inférieure à 40%, mais NetBeans est plus lent que mon ordinateur de 15 ans que j'ai caché dans le garage.

Après avoir trouvé ce sujet et parcouru http://wiki.netbeans.org/FaqSlowNetBeans je me suis rendu compte que, dans le coin inférieur droit de NetBeans, je voyais toujours une barre indiquant "Analyse ..." pour l'arrêter et que rien ne se passe, j'ai cherché plus loin ce que faisait "Numérisation ..." et j'ai réalisé:

Chaque fois que je lance NetBeans, ce dernier analyse automatiquement tous les projets ouverts.

Et voilà, j'ai fermé 20 projets ouverts et NetBeans s'exécute aussi rapidement que Notepad.

2
user3402600

Si c'est sur un ordinateur d'entreprise - assurez-vous que les caches ne sont pas stockés sur le réseau

2
Fortyrunner

Article vraiment utile sur les raisons pour lesquelles votre NetBeans est lent:

http://wiki.netbeans.org/FaqSlowNetBeans

2
Jacek Lisiński

Semblable à la suggestion de tout mettre sur un SSD.

Je lance netbeans à partir de FreeBSD. Les fichiers de cache Netbeans se trouvaient dans mon répertoire personnel, au format .netbeans. Mon répertoire personnel a été monté sur nfs, donc l'accès était très lent. Le déplacement de .netbeans sur la machine locale a considérablement amélioré les performances. J'ai ajouté un lien symbolique de .netbeans dans mon répertoire personnel au répertoire local. Netbeans explique comment changer les éléments usedir et cachedir here et les répertorie en tant que motif du point 4.

Avant cela, je pouvais écrire des phrases entières dans des commentaires avant que l'interface graphique ne les rattrape et ne les affiche. Après que le texte apparaisse pendant que je tape.

1
cs_alumnus

Mettez votre .netbeans Homefolder dans un Ramdisk et Netbeans sa va être incroyablement rapide.

J'ai détecté sur mon Ubuntu 16.04 que chaque touche Key provoque une action de lecture ou d'écriture sur le disque dur. Raison enougth pour moi d'utiliser un Ramdisk. En tant que petit effet secondaire positif, mon disque dur est tout à fait maintenant (plus aucun tickclickrrickrrrticktick) et a une vie plus longue.

1
Steffomio

La solution la plus simple:

Allez dans Préférences-> Editeur et Désactiver: Fenêtre de complétion automatique

Utilisez: Méta clé +\à la place lorsque vous avez besoin de compléter le code.

Le plus gros problème que j'ai trouvé est la fonctionnalité de complétion automatique du code… .. Lors de la frappe, elle essayait toujours d'exécuter le complétement du code… .. Cela causait des performances très lentes car mon projet contenait beaucoup de bibliothèques dépend.

La meilleure chose à faire est que vous pouvez cesser de vous battre contre l'éditeur car il continue à détecter les faux positifs dans la fenêtre contextuelle d'achèvement.

Je n'ai pas regardé en arrière depuis que je l'ai éteint.

1
Dieter Gribnitz

NetBeans 8.0.2 (PHP) a deux problèmes: le client Subversion et les Twig templates . Afin d'améliorer considérablement les performances globales, a) désactivez le plug-in "Twig Templates" (cela désactivera également Symphony2, au besoin) et b) substituez le client SVN avec ce commutateur:

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

^ project.properties permet de définir les arguments CLI individuellement (ce qui peut également avoir un sens avec les paramètres RAM et d'autres personnalisations). suppose que l'on pourrait réactiver Twig une fois que le rapport de bogue lié a été fermé. la réanalyse n’est pas vraiment le problème, alors que la nouvelle analyse se déroule comme il se doit ... dans les meilleurs délais.

Juste en testais un peu plus et a remarqué que, sous Linux, il fonctionnait beaucoup mieux avec le JDK Oracle que l’OpenJDK (commun) - nous avons vu qu’une seule version de NetBeans était livrée avec.

1
Martin Zeitler

J'ai eu de gros problèmes avec NetBeans 8.0.2. C'est une vieille question mais peut-être que quelqu'un d'autre finira ici comme moi avec le même problème et je n'ai trouvé aucune réponse qui m'a aidé nulle part. 

J'ai NetBeans 8.0.2 avec le plug-in Ruby on Rails, sous Windows 7. Le IDE était suspendu pendant 10 secondes à peu près à la moindre modification apportée à certains fichiers. C'était un problème uniquement avec les gros fichiers, mais cela dépendait de plus que cela, il y avait d'autres gros fichiers sans le problème. 

Le problème était dû à "l'indice" "Rails 3 Deprecations", je l'ai désactivé et maintenant c'est très rapide, je peux avoir tout activé sans problèmes.
C'est sous Tools -> Options -> Editor -> Hints

Il y a aussi quelques suggestions dans les autres réponses d'optimisation avec les paramètres de démarrage. J'ai trouvé ces liens sur les commutateurs JVM qui m'ont aidé lors des tests d'optimisation (mais il s'est avéré que ces paramètres n'ont rien à voir avec mon problème), ils sont très anciens mais contiennent des informations utiles:
Explication des commutateurs JVM .
Quelques (anciennes) recommandations

0
244an

Ouvrez le fichier: 

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

J'ai ajouté quelques options ci-dessous:

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

Utiliser opengl peut vous aider, selon votre système. Je suis sous OSX. 2048m peut être trop, mais ne semble pas faire mal :-) ...

0
ChrisVollo

Essayez de profiler Netbeans en utilisant VisualVM. Si le "point chaud" est org.gnome.accessibility.atkwrapper.emitsignal (), essayez de lancer Netbeans avec 

-J-Djavax.accessibility.assistive_technologies=" "

Cela m'a beaucoup aidé dans mon cas.

Je ne sais pas vraiment pourquoi exactement cette boîte à outils a été utilisée, mais il semble qu'il soit généralement prudent de la désactiver.

0
sleeply4cat

Pour moi travaillé pour permettre l'auto-balayage des sources.

0
gab06

Même problème avec Netbeans 7.3. * Et 7.4 Beta sous Windows 7. Activer et désactiver certains plug-ins, j’imaginais que c’était le plug-in svn qui augmentait constamment le processeur à environ 27%, convertissant mon ordinateur grille-pain. Éteignez-le et code à nouveau heureux :)

0
Mirko

Pour Windows - Devrait également fonctionner pour d'autres systèmes d'exploitation

Netbeans est comme n'importe quelle autre application Java qui nécessite un réglage pour sa machine virtuelle Java.

Veuillez lire le lien suivant pour avoir quelques résultats de référence pour Netbeans

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

Les paramètres suivants fonctionnent correctement sur mon ordinateur Windows 7 avec 4 Go RAM et un processeur I5 Quad Core.

(Recherchez la ligne netbeans_default_options dans le fichier de configuration netbeans dans le dossier bin et remplacez la ligne de configuration comme suit)

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

Petite suggestion: La récupération de place joue un rôle essentiel dans la taille de segment de mémoire de la machine virtuelle Java et, comme j'avais un processeur quad core, j'ai utilisé le CPG parallèle. Si vous avez un processeur mono-fil, veuillez utiliser UseSerialGC. D'après mon expérience, si les valeurs Xmx Xms sont identiques, il n'y a pas de surcharge de performances pour permettre à la machine virtuelle Java de basculer entre les valeurs minimale et maximale. Dans mon cas, chaque fois que la taille de mon application tente de dépasser 500 Mo, le GC parallèle est pratique pour nettoyer les déchets indésirables afin que mon application ne dépasse jamais 500 Mo sur mon PC. 

0
Natty