Visual Studio 2017-Узел.Процесс сервера JS-отключить?



Я работаю над a ASP.NET приложение в Visual Studio 2017, и я замечаю узел.JS: серверный Javascript-процесс, работающий на 1,3 - 1,8 ГБ памяти. Мой рабочий процесс IIS-это нормальный размер, который он имеет в VS 2015.



мое приложение не включает в себя какой-либо узел.JS библиотеки. Я не могу понять, как повернуть этот узел.JS: процесс Javascript на стороне сервера выключен. Это съедает слишком много памяти для того, что мне не нужно.



есть ли способ убить это помимо удаление VS 2017 и переключение обратно на VS 2015?



enter image description here



убийство основного процесса в Диспетчере задач ничего не влияет на VS, однако если я перейду на вкладку "Сведения" и убью отдельные запущенные процессы, он выйдет из строя Visual Studio. Я снял видео того, что произошло после того, как я убил процесс и запустил свою локальную веб-страницу (извините за качество, поэтому размер изображения ограничен 2 МБ):



enter image description here

692   7  

7 ответов:

Инструменты > Параметры > Текстовый Редактор > JavaScript / TypeScript > Языковая Служба...

снимите флажок "Включить новую службу языка JavaScript".

Это, по-видимому, предотвращает запуск процесса NodeJS.

Я поднял обратную связь по этому вопросу:

https://developercommunity.visualstudio.com/content/problem/31406/visual-studio-2017-nodejs-server-process-turn-off.html

Я получил ответ от команды MS - он направил меня на этот пост:

https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629

узел.исполняемый процесс имеет командную строку: enter image description here

эффективно мне сказали:

в VS 2017 несколько функций реализованы в JavaScript. Узел.js используется Visual Studio для запуска этого JavaScript. Помимо прочего, Node используется для запуска кода, который обеспечивает форматирование и службы intellisense, когда пользователь редактирует TypeScript или JavaScript. Это изменение по сравнению с 2015 годом.

Он отвечает на мой вопрос, но выводит на свет другой-зачем вам это нужно 1.4 ГБ памяти, чтобы дать мне intellisense на JavaScript файлы ... или это одно из решений, встроенных в VS, поэтому он использует меньше памяти, поэтому он не попадает в предел 2 ГБ(4 ГБ) 32-разрядных процессов? Вопросы вопросы вопросы.

вы должны отключить поддержку TypeScript в Visual Studio:

Инструменты > Расширения и обновления > TypeScript для Microsoft Visual Studio > отключить

после этого просто перезапустите Visual Studio, и вы хорошо идти.

https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629) привел меня к ответу Боудена Келли, прямо под принятым ответом.

вот ответ Боудена Келли:

процесс узла, который вы видите, включает службу языка JavaScript. Вы увидите, что этот процесс появляется в любое время, когда вы редактируете файл JS, файл TS или любой файл с JS/TS внутри (html, cshtml и т. д.). Этот процесс является то, что полномочия IntelliSense, навигация по коду, форматирование и другие функции редактирования, и он делает это путем анализа всего контекста вашего проекта. Если у вас их много .JS файлы в вашем проекте, это может получить большой, но, скорее всего, проблема в том, что у вас есть много файлов библиотеки, которые анализируются. По умолчанию мы будем сканировать каждый .js/.файл ТС в ваш проект. Но вы можете переопределить это поведение и настроить языковую службу так, чтобы она фокусировалась только на вашем коде. Для этого создайте tsconfig.JSON в корне проекта со следующими параметрами:

{ "compilerOptions": { "allowJs": true, "noEmit": true }, "exclude": [ "wwwroot/lib" //ignore everything in the lib folder (bootstrap, jquery, etc) // add any other folders with library code here ], "typeAcquisition": { "enable": true, "include": [ "bootstrap", "jquery" //list libraries you are using here ] } }

Как только я добавил папку со всеми моими библиотеками сценариев в tsconfig.файл JSON, жизнь снова была хороша.

самый грязный обходной путь: просто переименуйте ServiceHub.Host.Node.x86.exe к чему-то еще. Не беспокоили меня. Когда (Если) вам это действительно нужно, просто переименуйте его обратно.

тот же трюк работает в Adobe Photoshop, который также запускает узел по какой-то причине, которую я еще не обнаружил в своем обычном рабочем процессе.


получается...

вы не можете просто переименовать его и ожидать вещи, чтобы работать. Кто бы мог подумать!

по-видимому, этот трюк переименования работает только если вы приостановите процесс VS и убейте узел, затем возобновите VS.если вы попытаетесь запустить VS с переименованным файлом exe узла, он рухнет при открытии проекта с "неизвестной жесткой ошибкой". Кроме того, при работе над уже загруженным проектом счетчик ленивых ссылок выше методов и свойств не будет работать, потому что, по-видимому, это зависит от того, что узел каким-то образом там находится.

поэтому было бы неплохо просто приостановить процесс узла и позволить Windows подкачки поменять свою память из ОЗУ на жесткий диск, без переименование exe, чтобы вы могли снова запустить VS позже, не проходя через переименование хлопот. Если вы готовы жить с последствиями, то есть.

что-то, что может помочь проектам смягчить вес nodejs: это переназначить версию узла, используемую под Инструменты > Параметры > проекты и решения > управление веб-пакетами к установленной 64-битной версии. Studio все равно запустит свой внутренний узел для сервера TSS.JS экземпляр, но любой typescript в проекте будет по умолчанию для поставляемой версии-и это помогло мне из первых рук.

кроме того, в другой раз я обнаружил, что языковая служба работает, я обнаружен с помощью простого tsconfig.json над каталогами, используемыми в качестве репозиториев, и укажите skipLibCheck: true, и добавить node_modules, чтобы исключить -- чрезвычайно помогли вдоль службы, и один файл делает все папки под ним, независимо от прямых ссылок на проект. С. П.-Если вы хотите поддержку IntelliSense для JavaScript по-прежнему, убедитесь, что установлен allowJs: true и .

наконец, проверьте в параметрах Typescript под Инструменты > Параметры > Текстовый Редактор > Javascript / Typescript > Project что он не проверен на автоматически компилировать файлы Typescript, которые не являются частью проекта так как это также может связать ресурсы для вспомогательных сторонних проектов с помощью узла или typescript.

это не дурак доказательство, каждый должен найти свое точное узкое место, но я нашел эти работы для меня и моей команды чаще, чем не

просто отмечая, что потребление высокой памяти было исправлено в выпуске 10 мая 2017 года-Visual Studio 2017 версии 15.2 (26430.04).

примечания к выпуску здесь:https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes

конкретные замечания об исправлении здесь: https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html

Comments

    Ничего не найдено.