Visual Studio 2017 - Node.JS Server jarayoni - o'chirib qo'yilsinmi?

Men Visual Studio-2017da ASP.NET ilovasida ishlayapman va Node.JS: Nimani yoqtirishim kerak bo'lgan Server tomonidagi Javascript protsessi 1,8GB dan 1,8 gigabaytgacha ishlaydi. Mening IIS ishchilarimning jarayoni VS 2015-da bo'lgan oddiy o'lchamdir.

Mening ilovamda Node.JS kutubxonalari mavjud emas. Ushbu Node.JS: Server tomonidagi Javascript jarayonini qanday o'chirib qo'yish kerakligini tushunolmadim. Men hech narsaga yaramaydigan narsa uchun juda ko'p xotira yeyapman.

VS 2017 ni olib tashlash va VS 2015-ga o'tishni bir chetga surib qo'yishning bir yo'li bormi?

enter image description here

Vazifa menejerida asosiy jarayonni o'ldirish VSga hech qanday ta'sir qilmaydi, ammo men batafsilroq yorlig'iga kirsam va Visual Studio'yu ishdan chiqqanda, u ishlaydigan jarayonlarni to'xtatsam. Men jarayonni o'ldirganimdan keyin o'zimning mahalliy veb-sahifamga kirgan narsalarni videoga oldim (Sifat uchun uzr so'rayman, 2MB hajmdagi cheklangan rasm hajmi):

enter image description here

95
Men bu jarayonni tugatdim va hech qanday yomon ta'sir ko'rmadim. Web-derivasisiz undagi fayllarni kompilyatsiya qiladi.
qo'shib qo'ydi muallif Glen Little, manba
Bu, albatta, javob emas, balki @jimmy uchun geribildirim. Men hozirgi paytda "Tipcript" dan foydalanmoqdaman va buni Vazifa menejerida ko'rish mumkin. TypeScript "tsserver" 600 MB RAM (butun DevEnvdan ko'proq) oladi: ! rasm ta'rifi bu erda ] ( i.stack.imgur.com/d7eNf.png)
qo'shib qo'ydi muallif Glen Little, manba
@jimmy - siz uchun.
qo'shib qo'ydi muallif Glen Little, manba
TypeScript dan foydalanmoqdamisiz?
qo'shib qo'ydi muallif SLaks, manba
@RyanTernier JavaScript/Tizim tilidagi til xizmati noddan foydalanganligi to'g'ridir, lekin ular o'zlarining nusxalarini sizni xafa qiladigan kishidan alohida foydalanadi. Bu bezovtalik mening jamoamga tegishli.
qo'shib qo'ydi muallif Jimmy, manba
Bu borada fikr-mulohazalar yuborishingiz mumkinmi? Bu erda ishtirok etishi mumkin bo'lgan (masalan, JSLint/CSSLint/va hokazo) ostida tugunni ishlatadigan veb-dev asboblaridagi bir nechta xususiyatlar mavjud. Ular faqatgina TypeScript yoki Node emas, balki har qanday veb-loyiha uchun ko'rinadi.
qo'shib qo'ydi muallif Jimmy, manba
Ushbu node.exe qaysi yo'ldan chiqdi? Bola tugunlari jarayonini boshdan kechiradigan VSda ikkita jamoa mavjud (ular bilaman), ammo ular turli yo'llardan kelib chiqadi. Menga bu fikr-mulohazani to'g'ri odamlarga yo'naltirishga yordam beraman.
qo'shib qo'ydi muallif Jimmy, manba
Rahmat, men bu haqda xato qilaman. Shuningdek, biz o'z fikrimizni bildirishga qodir emasmiz, mijozlar tomonidan bildirilgan muammolarga ko'proq e'tibor qaratishga harakat qilamiz. Eng yomon ahvolda sizning xatoingiz sizga mos keladi. ;)
qo'shib qo'ydi muallif Jimmy, manba
@RyanTernier bu jarayon uchun node.exe yo'lini tasdiqlashi mumkinmi? U% VSInstallDir% \ Web \ External \ node.exe mos keladimi?
qo'shib qo'ydi muallif Jimmy, manba
@GlenLittle Bu ishlaydi, lekin mushuk kabi ... qaytib keldi. Men boshida o'rnatilgan va har doim ishlayotganmi deb hayronman. Men VS2017 ni faqatgina laptopga o'rnatganman va u menga serverni o'rnatish imkoniyatini berdi. Men uni sinab ko'rganimda uni yangilab olaman
qo'shib qo'ydi muallif Ryan Ternier, manba
Biz oz miqdorda foydalanmoqdamiz.
qo'shib qo'ydi muallif Ryan Ternier, manba
Jarayon brauzerdagi har qanday sahifani hal qilishim bilanoq boshlanadi. ASP.NET MVC. Agar uni yo'q qilsam, u faqat muammosiz qaytib keladi.
qo'shib qo'ydi muallif Ryan Ternier, manba
Boshqa @ MSFT dan eshitganman, derleyici + VS brauzer bog'lanish uchun bir nechta ishni bajarish uchun node.JS jarayonidan va shunga o'xshash disk raskadroviyadan foydalanadi. U VS komandasida emas, shuning uchun men buni to'g'ri deb bilmayman
qo'shib qo'ydi muallif Ryan Ternier, manba
@Jimmy Ha: C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Web \ External
qo'shib qo'ydi muallif Ryan Ternier, manba
@Jimmy Bizning yechimimiz barcha keng tarqalgan ko'rinishlarni/skriptlarni o'z ichiga olgan bazaviy foydalanuvchi interfeysi loyihasi mavjud bo'lgan holda (tavsiya etilgan sozlamalar emas) va qurilish bosqichlarida tarkibni boshqa MVC loyihasiga ko'chiradi. Shu sababli barcha skriptlar manba kodida takrorlanmoqda (faqat bizning yirik qutilarimizda). Buning sababi, menda mavjud ma'lumotlar hisobiga juda katta bo'lishi mumkin. Node.JS jarayoni xuddi shunday xotirada bo'lsa, qo'shimcha fayllarni yuklashni filtrlash imkoniyatiga egami?
qo'shib qo'ydi muallif Ryan Ternier, manba

7 javoblar

Tools > Options > Text Editor > JavaScript/TypeScript > Language Service...

"Yangi JavaScript til xizmatini yoqish" belgisini olib tashlang.

NodeJS jarayonining boshlanishiga yo'l qo'ymaslik kerak.

120
qo'shib qo'ydi
Microsoft-ning bu ko'rsatuvni bajarish uchun sharmandalik va avtomatik ravishda ishlashi uchun sharmandalik asosan mening kompyuterimni har safar ishdan chiqardi. Ajablanarlisi shundaki, odamlar Visyual studiyasi kabi jirkanch tizimlardan uzoqlashishga harakat qilishadi.
qo'shib qo'ydi muallif William Howley, manba
Bu erda ham @Bill - Jabroilning javobiga ko'ra TypeScript kengaytmasi o'chirib tashlangan bo'lsa-da.
qo'shib qo'ydi muallif Dunc, manba
pulga voy ... dotnet muqobil ravishda ishlagan, biroq bir nechta loyihani boshlashni xohlardim.
qo'shib qo'ydi muallif hidden, manba
Jin ursin? Nima uchun bu matn muharriri sozlamalarida ishlaydi? : R.
qo'shib qo'ydi muallif Sнаđошƒаӽ, manba
Ushbu xizmat nimadan iborat? Uni o'chirib qo'yish yaxshi emasmi?
qo'shib qo'ydi muallif HamedH, manba
Ishlayotgan 30 node.exe jarayonlari bor edi. Juda zerikarli.
qo'shib qo'ydi muallif Brain2000, manba
VS2017-ni qayta ishga tushirganman, VS2017 ni ishga tushirganimda "Node.js: Server tomonidagi JavaScript" ni ishga tushirishni to'xtatmadim. Mashinamdagi 800MB atrofida hasham va endi Chrome'da disk raskadrova qila olmayman.
qo'shib qo'ydi muallif Bill, manba
Mening menyularimda bu men uchun imkoniyat ham emas
qo'shib qo'ydi muallif BradLaney, manba
Ushbu yechim yordamga muhtoj, yuqoriga ko'tarilishi kerak. Ammo buning uchun ingl. Studiyani qayta ishga tushirishingiz kerak.
qo'shib qo'ydi muallif madd, manba

Men ushbu masala bo'yicha fikrlarni bildirdim:

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

Men milodiy komandadan javob oldim - u menga ushbu lavozimga rahbarlik qildi:

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

The node.exe process has the command line: enter image description here

Samarali menga:

VS-2017da JavaScript-da bir nechta imkoniyatlar mavjud. Node.js bu JavaScriptni ishlatish uchun Visual Studio tomonidan ishlatiladi. Boshqa narsalar bilan bir qatorda, Tugun foydalanuvchi formatlash va intellisense xizmatlarini ta'minlaydigan kodni ishlatish uchun ishlatiladi. Bu VS 2015dan o'zgarish.

Bu mening savolimga javob beradi, lekin yana bir narsani yoritib beradi - nega siz JavaScript-dagi fayllar uchun intellisense berish uchun 1,4 Gb xotiraga muhtojsizmi yoki u kam xotiradan foydalanish uchun VSga kiritilgan echimlardan biri. 32 gigabaytlik 2GB (4GB) limitga tegdimi? Savollar savollari savollar.

22
qo'shib qo'ydi
Darhaqiqat, asosiy VS jarayoni IntelliSense kabi ba'zi narsalarni boshqa jarayonga moslashtirib, har 32 bitli protsess uchun ko'proq qo'zg'alish orqali yanada sezgir va ish faoliyatini optimallashtirishga qaratilgan narsa. Lekin bu biz uchun bu muhim emas. Men topganimdagidek, sizda ko'proq manba kodi fayllari va Intellisense yoqilgan bo'lsa, tugun ko'proq xotira ishlatadi. Agar chindan ham xotirada kam ishlayotgan bo'lsangiz, Intellisense-ni o'chirib tashlang va boshqa vazifalarni bajarasiz.
qo'shib qo'ydi muallif user1306322, manba
Xo'sh, bu Intellisense nima uchun do'zaxga ketdi tushuntirib beradi.
qo'shib qo'ydi muallif Andy, manba
bu yerga havola qilingan yozuvga ko'ra ... TipScript kengaytmasini o'chirib qo'ysangiz, men uchun hech bo'lmaganda mening ishim. Asboblar, kengaytmalar va yangilanishlar ni bosing, "TypeScript" ni qidiring va uni o'chirib qo'ying. Visual Studio dasturini qayta ishga tushiring.
qo'shib qo'ydi muallif pat capozzi, manba
Bu men uchun teskari ta'sir ko'rsatdi va VS2017'yi shu qadar dangasa qildi, men VS2015 ga qaytib borayapman. Men MS ning Intellisense kabi oddiy ishlarni bajarish uchun 3-chi partiyaning tashqi ramkalaridan foydalanishi kerakligini o'ylayman. Bu har doim kuchli tomonlaridan biri bo'lgan ... va hozirmi? Men TypeScript va Node.js ni o'chirib tashladim va agar men faqatgina Chrome VS2017 ga qarasa, shuncha yomon o'tiradi, men ba'zan qayta boshlashim kerak. Shunday qilib, men uchun Firefox va VS2015 ga qaytib, hech bo'lmaganda hozirgacha. Va bu i7, 16GM RAM va barcha SSD o'rnatish Win10 Pro bilan. Dahshatli.
qo'shib qo'ydi muallif Neville, manba

Visual Studio-da TypeScript yordamini o'chirishingiz kerak:

Tools > Extensions and Updates > TypeScript for Microsoft Visual Studio > Disable

Shundan so'ng, faqat Visual Studio'yu qayta ishga tushiring va siz borishingiz kerak.

19
qo'shib qo'ydi
Hali ham ishlayapti. Hech narsa qilmadi.
qo'shib qo'ydi muallif BradLaney, manba
Hali ham uni o'chirib tashlaganingizdan keyin ham ko'rinadi. VS2017
qo'shib qo'ydi muallif codenamezero, manba
Men bu qadamlarni ta'qib qilganimdan keyin hamon harakat qilaman
qo'shib qo'ydi muallif Jervie Vitriolo, manba

Rayan Ternierning fikri menga to'g'ri yo'nalish ekanligiga ishontirdi. Uning havolasidan so'ng ( https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629 ) olib bordi Menga javobingiz Bowden Kellyning javobiga to'g'ri keldi.

Bu erda Bowden Kellyning javobi:

Siz ko'rib turgan tugun jarayoni JavaScript til xizmatini kuchaytirishdir. JS faylini, TS faylini yoki JS/TS ichidagi (html, cshtml, va hokazo) har qanday faylni tahrirlash paytida bu jarayonni ko'rishingiz mumkin. Ushbu jarayon IntelliSense vakolati, kodni navigatsiya qilish, formatlash va boshqa tahrirlash funktsiyalari bo'lib, sizning loyihangizning barcha tarkibiy qismini tahlil qilish orqali amalga oshiriladi. Agar loyihangizda ko'pgina .js fayllari mavjud bo'lsa, bu katta bo'lishi mumkin, ammo bu muammo sizning tahlil qilinadigan ko'plab kutubxona fayllari bo'lishi mumkin. Odatiy bo'lib, biz sizning loyihangizda har bir .js/.ts faylini tekshiramiz. Lekin, bu xatti-bekor qilishi va til xizmatini faqat kodunuza qaratib sozlashingiz mumkin. Buni amalga oshirish uchun quyidagi sozlamalar bilan loyiha ildizida tsconfig.json yarating:

{     "compilerOptions": {         "allowJs": rost,         "NoEmit": rost     },     "chiqarib tashlash": [         "wwwroot/lib"//lib papkasida hamma narsalarni e'tiborsiz qoldiring (bootstrap, jquery, va hokazo)         // bu erda kutubxona kodi bilan boshqa papkalarni qo'shing     ],     "typeAcquisition": {         "Enable": haqiqiy,         "include": [             "bootstrap",             "jquery"//foydalanadigan ro'yxatli kutubxonalar         ]     } }

Bir marta jildni tsconfig.json fayliga qo'shib, barcha kutubxona kutubxonalarim bilan qo'shildim, hayot yana yaxshi bo'ldi.

12
qo'shib qo'ydi
Ushbu faylni qo'shadigan bo'lsam, loyihani qurganimda barcha turdagi ofitsif xatolarni keltirib chiqardim. Undan olib tashlandi va xatolar ketdi.
qo'shib qo'ydi muallif John81, manba
Oldingi so'rovda mening sovun qutichimdan keyin, bu kunni saqlab qolgan ko'rinadi !!! Shu qadar oddiy narsa shu qadar murakkab va faqat VS2017 bilan uch kun kurash olib keldi, bu nihoyat buni topish uchun!
qo'shib qo'ydi muallif Neville, manba

Hech qachon eng iflos ishlar: faqat ServiceHub.Host.Node.x86.exe ni boshqa bir narsaga o'zgartiring. Shu kundan boshlab meni bezovta qilmadi. Qachon (agar) sizga kerak bo'lsa, uni qayta nomini o'zgartiring.

Adobe Photoshop-da xuddi shu hiyla-nayta ishlamoqda, u ham mening odatiy ishim davomida kashf qilmaganim sababli tugunni boshqaradi.


Aylanadi...

Siz uni faqat nomini o'zgartira olmaysiz va ishlaringizni davom ettirishingiz mumkin emas. Kim bilardi!

Ko'rinishidan, ushbu nomni o'zgartirish jarayoni faqat VS jarayonini to'xtatib, tugunni o'ldirishda ishlaydi, keyin VS. Agar tugunli exe fayli nomini o'zgartirib, VS ni ishga tushirsangiz, "noma'lum xatolik" bilan loyihani ochishda buzilib ketadi. Bundan tashqari, allaqachon yuklangan loyihada ishlayotganda, usullar va xususiyatlar ustidagi mash'al mos yozuvlar hisoblagichi ishlamaydi, chunki tashqi ko'rinishdagi tugunni qandaydir tarzda bor.

Ya'ni, tugun jarayonini to'xtatib qo'yish va Windows xotirasini xotiradan ramkadan qattiq diskka almashtirishga imkon berishi mumkin, bu esa exe nomini o'zgartirmasdan qayta nomlashni qayta boshlashni boshlashi mumkin. Agar siz oqibatlari bilan yashamoqchi bo'lsangiz, ya'ni.

3
qo'shib qo'ydi
Men har doim kuch bilan mahrum bo`lgan fikrni yaxshi ko'raman , nima deyishni bilaman ... ;-)
qo'shib qo'ydi muallif Sнаđошƒаӽ, manba
Afsuski, tugunlar jarayoni javob bermasa va yangisini boshlashini aniqlaydigan ba'zi kodlar mavjud. Men VS kodining bu qismini bilmayman, lekin menga shunday ta'rif berildi.
qo'shib qo'ydi muallif Jimmy, manba

Something that can help the projects mitigate the nodejs weight: is to reassign the node version used under Tools > Options > Projects and Solutions > Web Package Management to an installed 64bit version. Studio will still launch its internal Node for a tsserver.js instance, but any typescript in project will default to the supplied version -- and this helped me firsthand.

Bundan tashqari, til xizmatining pastga tushib qolganligini yana bir bor topdim, oddiygina tsconfig.json yordamida oddiy havolalar sifatida ishlatilgan va skipLibCheck: true va node_modules qo'shishni istisno qilish uchun - xizmat davomida katta yordam berdi va to'g'ridan-to'g'ri loyiha murojaatlariga qaramasdan, bitta fayl tagidagi barcha papkalarni qiladi. P.S. - Agar JavaScript-ni intellisense-ni qo'llab-quvvatlashni xohlasangiz, allowJs: true va noEmit: true ni tanlang.

Lastly, verify in the Typescript Options under the Tools > Options > Text Editor > Javascript/Typescript > Project that it is not checked to Automatically compile Typescript files which are not part of a project since that can also tie up resources for auxillary 3rd party projects using node or typescript.

Bularning barchasi aql bovar qilmaydi, ularning har biri o'zlarining to'siqlarini topishi kerak, ammo men buni men va jamoam uchun tez-tez ishlaganimga amin bo'ldim.

1
qo'shib qo'ydi
Bu men uchun ishladi. Ushbu ro'yxatning yuqorisiga "C: \ Program Files \ nodejs" (ilgari NodeJSni qo'lda o'rnatgan joy) qo'shildi va Node.js jarayoni% 50-60% dan CPU yukidan o'tdi.
qo'shib qo'ydi muallif andnil, manba

Yuqori xotira hajmini 2017 yil 10-may kuni - Visual Studio 2017 versiyasi 15.2 (26430.04) chiqarib tashlashni qayd etdi.

Bu yerda chop etilgan eslatmalar: https://www.visualstudio.com/en- biz/yangiliklar/releasenotes/vs2017-relnotes

Specific notes about the fix here: https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html

1
qo'shib qo'ydi
Men bu masalani github.com/aspnet/JavaScriptServices/issues/1298 saytida e'lon qildim. bu savol 2015 yilda VS 2015 bilan JavaScript-ni loyihalari bilan, lekin muammo yanada yomonlashmoqda.
qo'shib qo'ydi muallif wonderful world, manba
Men uchun aniq emas. Hali ham 15.6.6 versiyasi bilan xotiradan tonna ovqat eyish
qo'shib qo'ydi muallif John81, manba
Bu yerda 15,2 (26430.16) dan foydalansangiz, men aytmoqchi edimki, ular kulgili tarzda - yuqori xotira iste'mol qilish muammosini belgilashgan, lekin uni faqat yuqori xotira hajmiga o'tkazish uchun pastga tushirishgan :)
qo'shib qo'ydi muallif PJUK, manba
2017-yilda 2 gigabayt davom etadi
qo'shib qo'ydi muallif Geomorillo, manba
Kelishdi. Muammo, asosan, past node.js nashri (bu "ob'ekt" funksiyalari qayta-qayta takrorlangan) qanchalik noyob bo'lganligi sababli bo'ladi - keyin yana, JS kamchiliklarini tuzatish uchun ramkalar har doim sekinroq ishlaydi. Linux foydalanuvchilari uchun Windows uchun ishlab chiqilgan bo'lsa, buning sababi shundaki, u katta yog 'buziladi.
qo'shib qo'ydi muallif MC9000, manba
NodeJS Uzbekistan
NodeJS Uzbekistan
152 ishtirokchilar

Guruh NodeJS bo'yicha muloqot qilish uchun ochilgan. Sizni qiziqtirsa: @nodejs_uz @react_uz @angular_uz @yiiframework_uz @js_uzb @typescript_uzb @vuejs_uz @ngTashkent @laravel_uz @uzdevgroup Ish o'rinlari @UzDev_jobs