WSL2已经具有内存回收

WSL2

MGI 微软开发人员宣布扩展WSL2层 Windows Insider实验性内部版本(内部版本19013)中的“适用于Linux的Windows子系统”。 他们在这些声明中宣布 增加了兼容性 返回内存系统(记忆回收),由在基于Linux内核的环境中运行的进程发布。

以前,在内存消耗较高的情况下 通过应用程序或内核,内存 它已分配给WSL2虚拟机,但此后它保持固定并且没有返回系统, 即使在完成资源密集型过程之后,也不再需要增加分配的内存。

现在,随着WSL 2中的内存回收,当不再需要Linux中的内存时,可以通知主机它将在何处释放,并且WSL 2 VM的内存大小将减少。

内存回收机制允许释放的内存返回主操作系统 并自动减小虚拟机的内存大小。 在这种情况下,不仅会返回用户进程释放的内存,还会返回用于Linux内核中进行缓存的内存。

在Linux虚拟机中,用户进程不是唯一使用内存的事物。 Linux内核还使用许多高速缓存,包括页面高速缓存,该高速缓存存储文件内容以提高文件系统性能。 让我们再看一个真实的例子,看看它是如何发挥作用的。

例如: 磁盘活动频繁时,页面缓存大小会增加, 其中文件的内容是在FS操作过程中确定的。 执行“ echo 1> / proc / sys / vm / drop_caches”后,可以清除缓存,并将内存返回主操作系统。

内存回收实现基于英特尔工程师提出的补丁,该补丁包含在主要的Linux内核中,以扩展virtio-balloon驱动程序和内存管理系统的功能。

此功能由Linux内核补丁驱动,当Linux来宾中不再需要小的连续内存块时,它们可以返回给主机。 我们在WSL2中更新了Linux内核以包括此补丁,并修改了Hyper-V以支持此页面报告功能。

指定的修补程序旨在在任何来宾系统上使用 将未使用的内存页面返回到主机系统,并且可以与多个虚拟机管理程序一起使用。 对于WSL2, 该修补程序经过专门设计,可以将内存返回给Hyper-V虚拟机管理程序。

重要的是要记住这一点 WSL的第二版在提供完整的Linux内核而不是仿真器方面有所不同 即时将Linux系统调用转换为Windows系统调用。

WSL 2是该架构的新版本,e允许Linux的Windows子系统在Windows上运行Linux ELF64二进制文件。 WSL 2的新版本使用Hyper-V功能创建具有最少Linux内核的轻型虚拟机。

WSL2中提供的Linux内核基于版本4.19,该版本使用已在Azure中使用的虚拟机在Windows环境中运行。 Linux内核的更新是通过Windows Update引擎提供的,并已在Microsoft的持续集成基础结构上进行了测试。

内核中使用的WSL2特定修补程序包括优化,以减少内核启动时间,减少内存消耗,并使内核具有最少的驱动程序和子系统。

如果您想了解有关它的更多详细信息 您可以在原始帖子中查看它们。 链接是这个。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。