Proses VMMEM Docker mengambil terlalu banyak memori di Windows 11/10

Proses VMMEM Docker mengambil terlalu banyak memori di Windows 11/10

Pengguna yang telah memasang Docker menggunakan subsistem Windows untuk Linux2 pada mesin Windows mereka telah mengadu mengalami proses vmmem yang memakan sejumlah besar kuasa ingatan. Menurut pengguna yang terjejas ini, longkang memori ini akan keluar dari carta, kadang -kadang bahkan mencapai sehingga 99% (1.5-2 GB RAM)! Ini adalah isu mengenai masalah ini melambatkan sistem yang terjejas dengan ketara. Oleh itu, anda harus mengikuti perbaikan ini untuk menyelesaikan masalah.

Isi kandungan

  • Betulkan 1 - Biarkan ia berjalan
  • Betulkan 2 - Tutup WSL
  • Betulkan 3 - Hadkan penggunaan memori
  • Betulkan 4 - Mulakan semula LXSsmanager
  • Betulkan 5 - Meningkatkan sumber yang diperuntukkan

Betulkan 1 - Biarkan ia berjalan

Proses VMMEM terus berjalan walaupun anda telah menutup WSL2. Ini adalah tingkah laku biasa dan vmmem dapat terus memakan jumlah sumber sistem yang lebih tinggi sehingga 1-2 minit setelah menamatkan proses VMMEM. Jadi, tunggu sehingga titik itu sehingga ia berhenti dan akhirnya melepaskan ingatan.

Betulkan 2 - Tutup WSL

Cara terbaik untuk menghentikan Docker daripada menggunakan memori terlalu banyak adalah dengan menutup subsistem Windows untuk Linux.

CATATAN - Oleh kerana ini menghentikan WSL2, anda harus berhati -hati untuk menjalankan ini pada masa keperluan sahaja. Oleh itu, hanya jalankan ini apabila anda selesai menjalankan Docker dan anda tidak memerlukannya.

1. Anda boleh melakukan ini dari mana -mana terminal tetapi anda perlu membukanya dengan hak pentadbiran. Jadi, buka kotak carian dan taipkan "PowerShell".

2. Kemudian, klik kanan "Windows PowerShell"Dan klik"Jalankan sebagai pentadbir"Untuk membuka terminal sebagai pentadbir.

PowerShell dijalankan sebagai pentadbir min

3. Sekarang, tulis ini di terminal dan memukul Masukkan Untuk menutup subsistem Windows untuk Linux.

WSL -Shutdown
WSL Shutdown min 1

Ini akan menutup WSL2 dan akhirnya, vmmem akan berhenti memakan sejumlah besar memori.

Betulkan 3 - Hadkan penggunaan memori

Ada cara lain yang dapat mengikat penggunaan memori oleh WSL2. Anda boleh membuat fail konfigurasi baru atau mengedit yang ada.

Langkah 1

1. Pada mulanya anda mesti menutup konfigurasi WSL2.

2. Jadi, mula menaip "PowerShell"Dalam kotak carian.

3. Kemudian, klik kanan "Windows PowerShell"Dan klik"Jalankan sebagai pentadbir"Untuk menjalankan terminal sebagai pentadbir.

PowerShell dijalankan sebagai pentadbir min

4. Selepas ini, jalankan kod ini untuk menghentikan WSL2 dengan segera.

WSL -Shutdown
WSL Shutdown min 1

Selepas ini, anda boleh menutup PowerShell terminal.

Langkah 2

Sekarang, anda mesti membuat fail konfigurasi. Oleh itu, meluncur melalui mata ini.

1. Cari dan buka Notepad.

Notepad Min

2. Di sana, tampal Kedua -dua baris ini.

[WSL2] Memory = 2GB # Had memori VM dalam WSL 2 hingga 3GB pemproses = 2 # Buat WSL 2 menggunakan sehingga dua pemproses maya

[CATATAN - Anda dapat melihat dalam fail konfigurasi, kami telah menetapkan parameter memori kepada 2 GB dan pemproses maya dikira hingga 2. Ini adalah pengubah dan anda boleh menetapkannya seperti yang anda mahukan.]

WS Memory Min

3. Selepas itu, klik pada "Fail"Dan klik"Simpan sebagai"Untuk menyimpan fail.

Simpan sebagai min

4. Sekarang, namakan fail "%Profil pengguna%\.wslconfig".

5. Kemudian, klik "Simpan"Untuk menyimpan fail.

Simpan konfigurasi min

Anda boleh tutup Notepad selepas ini.

Selepas ini, buka Docker. Sebaik sahaja anda membukanya, anda akan melihat pilihan untuk memulakan semula mesin maya.

Jadi, klik "Ya"Untuk memulakan semula itu.

Sekarang, vmmem tidak akan memakan jumlah ram yang tinggi.

Langkah pilihan -

Linux menggunakan lebih banyak memori untuk fail cache. Anda boleh menghalangnya dengan satu baris ini (berjalan dari terminal pentadbiran) -

Echo 3 | sudo tee/proc/sys/vm/drop_caches

Ini harus mengehadkan penyimpanan cache dan membebaskan lebih banyak ram untuk tuan rumah.

Betulkan 4 - Mulakan semula LXSsmanager

Anda mesti memulakan semula lxssmanager dalam powershell.

1. Buka PowerShell atau terminal lain sebagai pentadbir.

2. Kemudian, input Perintah ini dan memukul Masukkan untuk memulakan semula LXSsmanager.

Restart-perkhidmatan lxssmanager

Kemudian, periksa penggunaan RAM sekali lagi.

Betulkan 5 - Meningkatkan sumber yang diperuntukkan

Anda boleh meningkatkan RAM yang diperuntukkan, dan CPU dan bertukar dengan mudah supaya penggunaan VMMEM mengurangkan dengan ketara.

1. Buka Tetapan Docker [Anda mungkin perlu menjalankan Docker VM dalam mod Linux untuk melihat tetapan ini.].

2. Di sana, pergi ke "Lanjutan"Tetapan.

3. Di dalamnya, anda boleh tweak tetapan CPU, ingatan, dan swap mengikut sumber sistem yang ada.

Ini harus mengurangkan penggunaan sumber vmmem dengan ketara.