WSL2已經具有內存回收

世界超級聯賽2

很多 微軟開發人員宣布擴展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. 權利:您可以隨時限制,恢復和刪除您的信息。