如何在相当普通的笔记本电脑上提高WSL / docker容器的性能?

问题描述

我有此PC配置,与普通笔记本电脑相比,它应该具有相当正常的性能:

ASUS TUF GAMING A15  
AMD Ryzen 7 4800H  
16GB RAM on 3200 MHz  
SSD  
64b Windows 10

首先,我安装了WSL2,但速度很慢,我意识到基于WSL的OpenSuse可能正在交换,因为处理器具有很多内核,但是16GB的内存不足。
因此,基本上,我打开.wslconfig并设置processors=2swap=0,它大大提高了WSL的性能,可能停止了交换。

  1. 这是个好主意吗?

所以我很开心地使用了WSL,但是过了一段时间,我需要安装VMware来测试某些功能,并且该功能一直起作用,直到虚拟机第一次重新启动,之后我才意识到我不能同时使用两个WSL和VMware on 1系统上,因为VMware希望我禁用WSL在Windows上需要的某些选项。 (我认为这与虚拟化有关)

但是在使用了VMware之后,我再次使用了WSL,并意识到它的速度要慢得多。我检查了git中的更改,重新构建了所有内容,恢复了以前的版本,但它仍然比以前慢很多。我当时需要开始使用docker容器(由于不同的原因),它最初运行的非常快,所以我并没有引起太大的关注。但是后来我意识到某些操作运行非常缓慢,我不知道为什么。然后我意识到一定是VMware,所以我卸载了它,WSL变得更快,只有WSL,但Docker容器的运行速度仍然很慢。

当我检查任务管理器时,CPU和磁盘似乎完全正常,而内存也正常。所以我想docker容器可能没有使用所有可用资源?任务运行30分钟,而不是直接运行在类似PC上的10秒(没有docker容器),这是巨大的区别...

在docker容器中运行任务之前:

Performance

Processes

在Docker容器中运行任务时:

Performance

enter image description here

  1. 如何设置VSCode来使Docker容器使用更多的资源,并以与不在Docker容器中运行任务一样快的速度运行任务? 我意识到它可能与Antimalware Service Executable进程有关,该进程在运行任务时使用大约5%的CPU,并使用Microsoft Defender Antivirus Service服务。可能是问题吗?如果是这样,如何以最小的方式为运行该容器的Docker容器或VSCode添加异常?禁用实时保护只会删除其5%的CPU使用率,但不会使容器任务更快。

我打电话给docker stats,实际上它根本没有使用任何资源,请参阅:

docker stats

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)