Speeding up WSL I/O up than 5x fast + saving a lot of battery life & CPU usage
While being helpful detecting some common Windows malwares, Windows Defender 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!
Let’s Disable Windows Defender
So, to do so, 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.
Warning: High security sometimes means Low performance
The tip above may speedup things a little bit, but not so. There is one more thing bringing your performance down: Window Defender real-time protection.
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:
Use Group Policy 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.
I’ve only tested superficially, but I can ensure a great performance speed up.
Disclaimer: I have plans to improve my English skill, but my willing to help is bigger than that.
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
EDIT: Take a look at noelbundick powershell script. Makes all this process easier. Thanks pasquale mangialavori https://gist.github.com/noelbundick/9c804a710eb76e1d6a234b14abf42a52#file-excludewsl-ps1