Speedup WSL by disabling Windows Real-time protection
In this short tutorial, I will help you speedup Windows Subsystem for Linux (WSL) by disabling Windows Real-time protection.
While being helpful detecting some common Windows malwares, in GNU/Linux side it’s so inefficient and actually unhelpful.
Every time you try to access/read/write some file/folder, Windows Defender intercept WSL requisition for antivirus scanning, slowing down things until you hate everything in WSL!
Warning: disabling Real-time Security may have some direct impact in yours personal security. Know what you are doing.
Adding WSL in the Windows Security's Exclusion ListSo, first get the UbuntuOnLinux (or your distro of choice) installation path going to %USERPROFILE%\AppData\Local\Packages and lookup for something like CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc.
Copy the entire path from Explorer.exe address bar, then go to:
Settings > Update & Security > Windows Defender > Open Windows Defender Secutiry Central > Protection Against Viruses & Threats > Advanced Config… > Exclusions > Add or Remove > Add > Folder and finally: paste the previous copied path.
High security sometimes means Low performance
Adding WSL to exclusion list may speedup things a little bit, but not so. There is one more thing bringing your performance down: Window Defender real-time protection.
As noticed by David Tansey in this WSL issue, real-time protection have a HUGE impact in developer tools like Visual Studio build tool and tools like Kubernetes and etc., including WSL.
We will disable it, but be aware: you will may be more vulnerable for some common attacks through malicious script execution.
So, let’s disable:
Using Group Policy (gpedit.exe) to disable real-time protection:
- On your Group Policy management machine, open the Group Policy Management Console, right-click the Group Policy Object you want to configure and click Edit.
- In the Group Policy Management Editor go to Computer configuration.
- Click Policies then Administrative templates.
- Expand the tree to Windows components > Windows Defender Antivirus > Real-time protection.
- Double-click the Turn off real-time protection setting and set the option to Enabled. Click OK.
Disclaimer: I have plans to improve my English skill, but my willing to help is bigger than that.
References:Configure always-on real-time protection in Windows Defender AV | Microsoft Docs — https://docs.microsoft.com/en-us/windows/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus
First posted on Medium Speeding up WSL I/O up than 5x fast + saving a lot of battery life & CPU usage, as a reply to Epic Development Environment using Windows Subsystem for Linux