Je travaille sur une application ASP.NET dans Visual Studio 2017 et je remarque un Node.JS: processus Javascript côté serveur s'exécutant entre 1,3 Go et 1,8 Go de mémoire. Mon processus de travail IIS a la taille normale dans VS 2015.
Mon application n'inclut aucune bibliothèque Node.JS. Je ne suis pas en mesure de comprendre comment désactiver ce processus Node.JS: Javascript côté serveur. Cela consomme trop de mémoire pour quelque chose dont je n'ai pas besoin.
Existe-t-il un moyen de tuer cela en dehors de la désinstallation de VS 2017 et du retour à VS 2015?
Tuer le processus principal dans le Gestionnaire des tâches n'affecte rien dans VS, mais si je vais dans l'onglet Détails et que je tue les processus individuels en cours d'exécution, cela plante Visual Studio. J'ai pris une vidéo de ce qui s'est passé après avoir tué le processus et exécuté ma page Web locale (désolé pour la qualité, taille d'image tellement limitée à 2 Mo):
la source
Réponses:
Outils> Options> Editeur de texte> JavaScript / TypeScript> Service de langage ...
Décochez "Activer le nouveau service de langage JavaScript".
Cela semble empêcher le processus NodeJS de démarrer.
la source
J'ai soulevé des commentaires sur ce problème:
https://developercommunity.visualstudio.com/content/problem/31406/visual-studio-2017-nodejs-server-process-turn-off.html
J'ai reçu une réponse d'une équipe MS - il m'a dirigé vers ce post:
https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629
Le processus node.exe a la ligne de commande:
En effet, on m'a dit:
Dans VS 2017, plusieurs fonctionnalités sont implémentées dans JavaScript. Node.js est utilisé par Visual Studio pour exécuter ce JavaScript. Entre autres choses, Node est utilisé pour exécuter le code qui fournit des services de mise en forme et d'intellisense lorsqu'un utilisateur édite TypeScript ou JavaScript. C'est un changement par rapport à VS 2015.
Cela répond à ma question, mais en amène une autre - pourquoi avez-vous besoin de 1,4 Go de mémoire pour me donner de l'intellisense sur les fichiers JavaScript ... ou est-ce l'une des solutions qui a été intégrée à VS afin qu'elle utilise moins de mémoire, donc il ne le fait pas N'atteignez pas la limite de 2 Go (4 Go) des processus 32 bits? Questions questions questions.
la source
Vous devez désactiver la prise en charge de TypeScript sur Visual Studio:
Outils> Extensions et mises à jour> TypeScript pour Microsoft Visual Studio> Désactiver
Après cela, redémarrez simplement Visual Studio et vous êtes prêt à partir.
la source
La réponse de Ryan Ternier m'a orienté dans ce que je crois être la bonne direction. Suite à son lien ( https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629 ) m'a conduit à la réponse de Bowden Kelly , juste en dessous de la réponse acceptée.
Voici la réponse de Bowden Kelly:
Une fois que j'ai ajouté le dossier avec toutes mes bibliothèques de scripts dans le fichier tsconfig.json, la vie était à nouveau belle.
la source
La solution de contournement la plus sale qui soit: renommez simplement le
ServiceHub.Host.Node.x86.exe
en quelque chose d'autre. Cela ne m'a pas dérangé depuis. Quand (si) vous en avez réellement besoin, renommez-le simplement.La même astuce fonctionne dans Adobe Photoshop qui exécute également Node pour une raison que je n'ai pas encore découverte dans mon flux de travail habituel.
Il s'avère que...
Vous ne pouvez pas simplement le renommer et vous attendre à ce que les choses continuent de fonctionner. Qui savait!
Apparemment, cette astuce de changement de nom ne fonctionne que si vous suspendez le processus VS et tuez Node, puis reprenez VS. Si vous essayez de lancer VS avec le fichier exe Node renommé, il plantera lors de l'ouverture d'un projet avec une "erreur matérielle inconnue". De plus, tout en travaillant sur un projet déjà chargé, le compteur de référence paresseux ci-dessus ne fonctionnera pas car apparemment, cela dépend de la présence de Node.
Donc, il peut être correct de simplement suspendre le processus Node et de laisser la pagination Windows échanger sa mémoire de la RAM vers le disque dur, sans renommer l'exe afin que vous puissiez redémarrer le VS plus tard sans avoir à vous soucier du changement de nom. Si vous êtes prêt à vivre avec les conséquences, c'est.
la source
Quelque chose qui peut aider les projets à atténuer le poids de nodejs: est de réaffecter la version de nœud utilisée sous Outils> Options> Projets et solutions> Gestion des packages Web à une version 64 bits installée. Studio lancera toujours son Node interne pour une instance tsserver.js, mais tout dactylographié dans le projet utilisera par défaut la version fournie - et cela m'a aidé de première main.
De plus, une autre fois, j'ai trouvé que le service de langue était en panne, j'ai découvert en utilisant un simple
tsconfig.json
au-dessus des répertoires utilisés comme référentiels, et en spécifiantskipLibCheck: true
et en ajoutant node_modules à exclure - énormément aidé le long du service, et un fichier fait tous les dossiers sous indépendamment des références directes au projet. PS - si vous voulez toujours la prise en charge de JavaScript intellisense, assurez-vous de définir l' optionallowJs: true
etnoEmit: true
.Enfin, vérifiez dans les Options Typescript sous Outils> Options> Editeur de texte> Javascript / Typescript> Projet qu'il n'est pas coché pour compiler automatiquement les fichiers Typescript qui ne font pas partie d'un projet car cela peut également attacher des ressources pour des projets tiers auxiliaires en utilisant un nœud ou un texte dactylographié.
Ce ne sont pas infaillibles, chacun doit trouver son goulot d'étranglement exact, mais j'ai constaté que cela a fonctionné pour moi et mon équipe le plus souvent
la source
Il suffit de noter que la consommation de mémoire élevée a été corrigée dans la version du 10 mai 2017 - Visual Studio 2017 version 15.2 (26430.04).
Notes de version ici: https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes
Notes spécifiques sur le correctif ici: https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html
la source
Pour désactiver les services de langage dans VS Code, accédez aux extensions, puis filtrez sur les extensions intégrées et désactivez le service de langage TypeScript / Javascript.
J'ai finalement découvert cela après que le service de nœud de VS code a planté mon serveur environ un million de fois. Ennuyeux que ce soit si difficile de trouver de la documentation.
la source
Dans mon cas, j'ai fait que bot voulait tuer le processus node.js et j'ai fait les choses suivantes pour réduire la consommation de processeur des processus Node.Js qui s'exécutent sous Visual Studio 2019:
npm rebuild fsevents
Cela me semble beaucoup mieux maintenant. Mais pas à 100% malheureux.
J'espère que cela aide quelqu'un là-bas aussi. Bonne chance les gars! :-)
la source