Saya sedang mengerjakan Aplikasi ASP.NET di Visual Studio 2017 dan saya memperhatikan Node.JS: Proses Javascript sisi-server berjalan pada memori 1.3GB hingga 1.8GB. Proses pekerja IIS saya adalah ukuran normal pada VS 2015.
Aplikasi saya tidak termasuk perpustakaan Node.JS. Saya tidak dapat menemukan cara untuk mematikan Node.JS ini: Proses Javascript sisi-server mati. Itu memakan terlalu banyak memori untuk sesuatu yang tidak saya gunakan.
Apakah ada cara untuk mematikan ini selain mencopot pemasangan VS 2017 dan beralih kembali ke VS 2015?
Membunuh proses utama di Task Manager tidak mempengaruhi apa pun di VS, namun jika saya pergi ke tab Details dan membunuh proses yang berjalan individu itu crash Visual Studio. Saya mengambil video tentang apa yang terjadi setelah saya mematikan proses dan menjalankan halaman web lokal saya (Maaf untuk kualitas, SO ukuran gambar terbatas hingga 2MB):
sumber
Jawaban:
Alat> Opsi> Editor Teks> JavaScript / TypeScript> Layanan Bahasa ...
Hapus centang 'Aktifkan layanan bahasa JavaScript baru'.
Ini muncul untuk mencegah proses NodeJS dari mulai.
sumber
Saya meningkatkan umpan balik tentang masalah ini:
https://developercommunity.visualstudio.com/content/problem/31406/visual-studio-2017-nodejs-server-process-turn-off.html
Saya mendapat tanggapan balik dari Tim MS - dia mengarahkan saya ke pos ini:
https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629
Proses node.exe memiliki baris perintah:
Secara efektif saya diberitahu:
Di VS 2017, beberapa fitur diimplementasikan dalam JavaScript. Node.js digunakan oleh Visual Studio untuk menjalankan JavaScript itu. Antara lain, Node digunakan untuk menjalankan kode yang menyediakan layanan pemformatan dan intellisense ketika pengguna mengedit TypeScript atau JavaScript. Ini adalah perubahan dari VS 2015.
Ini menjawab pertanyaan saya, tetapi menjelaskan yang lain - mengapa Anda membutuhkan memori 1,4GB untuk memberi saya intellisense pada file JavaScript ... atau apakah ini salah satu solusi yang telah dibangun ke dalam VS sehingga ia menggunakan Lebih Sedikit Memori sehingga tidak dapat mencapai batas 2GB (4GB) dari proses 32-bit? Pertanyaan pertanyaan pertanyaan.
sumber
Anda harus menonaktifkan dukungan TypeScript di Visual Studio:
Alat> Ekstensi dan Pembaruan> TypeScript untuk Microsoft Visual Studio> Nonaktifkan
Setelah itu, cukup restart Visual Studio, dan Anda siap melakukannya.
sumber
Jawaban Ryan Ternier menunjuk saya pada apa yang saya yakini sebagai arah yang benar. Mengikuti tautannya ( https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html?childToView=27629#comment-27629 ) membawa saya ke jawaban Bowden Kelly , tepat di bawah jawaban yang diterima.
Inilah jawaban Bowden Kelly:
Setelah saya menambahkan folder dengan semua pustaka skrip saya ke file tsconfig.json, hidup menjadi baik kembali.
sumber
Solusi paling kotor yang pernah ada: ubah nama
ServiceHub.Host.Node.x86.exe
menjadi sesuatu yang lain. Sejak itu tidak mengganggu saya. Ketika (jika) Anda benar-benar membutuhkannya, cukup ganti namanya kembali.Trik yang sama berfungsi di Adobe Photoshop yang juga menjalankan Node untuk beberapa alasan yang belum saya temukan dalam alur kerja yang biasa.
Ternyata...
Anda tidak bisa hanya mengubah nama dan mengharapkan hal-hal tetap bekerja. Siapa yang tahu!
Tampaknya trik penggantian nama ini hanya berfungsi jika Anda menangguhkan proses VS dan membunuh Node, lalu lanjutkan VS. Jika Anda mencoba meluncurkan VS dengan nama file Node exe, itu akan macet ketika membuka proyek dengan "kesalahan keras yang tidak dikenal". Juga, saat mengerjakan proyek yang sudah dimuat, penghitung referensi malas di atas metode dan properti tidak akan bekerja karena tampaknya yang bergantung pada Node ada di sana entah bagaimana.
Jadi mungkin tidak apa-apa untuk hanya menunda proses Node dan membiarkan Windows paging menukar memorinya dari ram ke hard drive, tanpa mengubah nama exe sehingga Anda bisa memulai VS lagi nanti tanpa melalui kerumitan penggantian nama. Jika Anda mau hidup dengan konsekuensinya, itulah.
sumber
Sesuatu yang dapat membantu proyek mengurangi bobot simpul: adalah untuk menetapkan kembali versi simpul yang digunakan di bawah Alat> Opsi> Proyek dan Solusi> Manajemen Paket Web ke versi 64bit yang diinstal. Studio masih akan meluncurkan Node internal untuk contoh tsserver.js, tetapi semua naskah dalam proyek akan default ke versi yang disediakan - dan ini membantu saya secara langsung.
Juga, lain kali saya menemukan layanan bahasa sedang berjalan, saya menemukan menggunakan sederhana di
tsconfig.json
atas direktori yang digunakan sebagai repositori, dan menentukan untukskipLibCheck: true
, dan menambahkan node_modules untuk dikecualikan - sangat membantu sepanjang layanan, dan satu file melakukan semua folder di bawah itu, terlepas dari referensi proyek langsung. PS - jika Anda masih menginginkan dukungan Intellisense JavaScript, pastikan untuk mengatur opsiallowJs: true
dannoEmit: true
.Terakhir, verifikasi di dalam opsi skriptrip di bawah alat> opsi> Editor teks> Javascript / skrip skrip> proyek bahwa itu tidak diperiksa untuk secara otomatis mengkompilasi file skrip yang bukan bagian dari proyek karena itu juga dapat mengikat sumber daya untuk proyek pihak ketiga tambahan menggunakan node atau naskah.
Ini bukan bukti bodoh, masing-masing harus menemukan hambatan yang tepat, tetapi saya telah menemukan ini telah bekerja untuk saya dan tim saya lebih sering daripada tidak
sumber
Hanya mencatat bahwa konsumsi memori tinggi telah diperbaiki dalam rilis 10 Mei 2017 - Visual Studio 2017 versi 15.2 (26430.04).
Catatan Rilis Di Sini: https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes
Catatan khusus tentang perbaikan di sini: https://developercommunity.visualstudio.com/content/problem/27033/nodejs-server-side-javascript-process-consuming-to.html
sumber
Untuk menonaktifkan Layanan Bahasa dalam Kode VS, buka ekstensi, lalu filter pada ekstensi bawaan dan nonaktifkan layanan bahasa TypeScript / Javascript.
Saya akhirnya menemukan ini setelah layanan simpul kode VS crash server saya sekitar satu juta kali. Mengganggu bahwa ini sangat sulit untuk menemukan dokumentasi tentang.
sumber
Dalam kasus saya, saya tidak ingin membunuh proses node.js dan saya melakukan hal-hal berikut untuk menurunkan konsumsi CPU dan proses Node.Js yang berjalan di bawah Visual Studio 2019:
npm rebuild fsevents
Menurut saya, ini jauh lebih baik sekarang. Tapi tidak 100% disayangkan.
Semoga ini bisa membantu seseorang di luar sana juga. Semoga beruntung kawan! :-)
sumber