Tôi đã xem xét dấu vết xperf của một số người dùng và ở đây chức năng ntoskrnl.exe!SmKmStoreHelperWorker
của Kernel bắt đầu phân bổ bộ nhớ.
(Bấm vào hình để phóng to)
Tôi phát hiện ra điều này trên sysiternals .
Tôi đã hỏi Microsoft về nó và câu trả lời là đây là do thiết kế. Nó liên quan đến nén bộ nhớ hệ thống.
Trong thông báo của Windows 10 Build 10525, Microsoft đã giải thích một chút :
Trong Windows 10, chúng tôi đã thêm một khái niệm mới trong Trình quản lý bộ nhớ được gọi là kho lưu trữ nén, đây là một bộ sưu tập các trang nén trong bộ nhớ. Điều này có nghĩa là khi Trình quản lý bộ nhớ cảm thấy áp lực bộ nhớ, nó sẽ nén các trang không sử dụng thay vì ghi chúng vào đĩa. Điều này giúp giảm lượng bộ nhớ được sử dụng cho mỗi quá trình, cho phép Windows 10 duy trì nhiều ứng dụng hơn trong bộ nhớ vật lý tại một thời điểm. Điều này cũng giúp cung cấp khả năng phản hồi tốt hơn trên Windows 10. Cửa hàng nén nằm trong bộ làm việc của quy trình Hệ thống.Vì quy trình hệ thống giữ cửa hàng trong bộ nhớ, nên bộ làm việc của nó phát triển lớn hơn chính xác khi bộ nhớ được cung cấp cho các quy trình khác. Điều này hiển thị trong Trình quản lý tác vụ và lý do quy trình Hệ thống dường như tiêu tốn nhiều bộ nhớ hơn các bản phát hành trước.
Vì vậy, thay vì ghi dữ liệu bộ nhớ vào trang, nó sẽ nén chúng. Và bộ nhớ nén này được hiển thị trong quy trình Hệ thống.
Microsoft cũng đăng thêm chi tiết trong trung tâm bên trong. Winbeta đã tạo ra một bài viết bao gồm nhiều chi tiết hơn.
Rõ ràng, lý do cho điều này đã xảy ra với việc Microsoft chọn tạm dừng các ứng dụng UWP khi chúng không ở phía trước, rất giống với một số quản lý hệ điều hành điện thoại thông minh. Người dùng Windows 8 hiểu (có lẽ là không) rằng nếu các ứng dụng không có trên màn hình, chúng sẽ không chạy cho đến khi người dùng quay lại với chúng. Phương pháp 'tất cả hoặc không có gì' đang được cập nhật với Windows 10 giới thiệu một lớp giữa hoạt động phân trang và hoạt động phân trang thông thường. Bây giờ, khi gặp vấn đề về áp suất bộ nhớ, MM sẽ xác định trang nào sẽ được chuyển đến danh sách đã sửa đổi trong một quy trình gọi là cắt xén.Danh sách đã sửa đổi là danh sách thứ cấp của các tệp trang sao lưu danh sách các tệp trang dự phòng. Một danh sách sao lưu được ghi lại trong trường hợp bộ nhớ được lấy lại từ danh sách chờ bởi một quy trình khác và quy trình ban đầu sẽ tìm trang của nó. Thay vì tất cả hoặc không có gì, Windows 10 MM sẽ nén các trang không sử dụng thay vì ghi chúng vào đĩa. Với ít ghi hơn, kết quả sẽ có ít thao tác đĩa hơn - nhờ vào việc nén - và bây giờ có thể lưu trữ nhiều dữ liệu hơn trong bộ nhớ.
Theo nhóm Windows, thực tế, bộ nhớ nén chiếm khoảng 40% kích thước không nén và do một thiết bị thông thường chạy một khối lượng công việc thông thường, Windows 10 ghi các trang ra đĩa chỉ 50% so với các phiên bản trước HĐH. Nếu tất cả đều theo kế hoạch, người dùng Windows có thể giảm thời gian chờ đợi cho tất cả các thiết bị cũng như tuổi thọ kéo dài trên các hệ thống có ổ cứng dựa trên flash .
Giải nén cũng là thứ Windows 10 được thiết kế để làm tốt. Windows 10 đang sử dụng kết hợp tính song song và đọc tuần tự để tạo các trang vào bộ nhớ một khi được gọi. Việc giải nén mới sẽ mang lại trải nghiệm nhanh hơn vì Windows 10 đồng thời giải nén dữ liệu và đọc song song bằng nhiều CPU. Các phiên bản Windows cũ hơn có thể đã cảm thấy chậm chạp vì tốc độ truyền giữa các đĩa.
Microsoft cũng đã phát hành một Video trên channel9 giải thích tính năng này.
Nén bộ nhớ trong Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
Trong video này Mehmet Iyigun đã dành một chút thời gian để thảo luận về lý do tại sao quá trình Hệ thống trong Windows 10 lại chiếm thêm một chút bộ nhớ và tại sao đó lại là một điều tốt. Một quá trình chiếm nhiều bộ nhớ nghe có vẻ là một điều tồi tệ - đó là cho đến khi tôi hiểu thêm về quản lý bộ nhớ, phân trang và lỗi trang cứng / mềm. Hóa ra rằng HĐH đang thực hiện một số tối ưu hóa thông minh cho phép các tiến trình của bạn cắt bớt một số bộ nhớ nhưng không nhất thiết phải đưa nó ra đĩa. Bộ nhớ không chỉ được bảo quản trong RAM mà còn bị nén - khiến lỗi trang cứng trở nên hiếm gặp hơn. Các kết quả sẽ làm cho một trải nghiệm snappier.
Trong Bản dựng TH2 mới nhất, Microsoft đã cập nhật mô tả trong trình quản lý tác vụ và giờ đây cũng cho thấy quy trình HỆ THỐNG lưu trữ compressed memory
:
để tránh nhầm lẫn về việc sử dụng "cao".
Trong Bản cập nhật kỷ niệm 10 năm được phát hành vào tháng 8 năm 2016, Microsoft đã trích xuất Nén thành hiện được hiển thị trong một quy trình giả được gọi Memory Compression
để không còn gây nhầm lẫn cho người dùng tại sao HỆ THỐNG có mức sử dụng bộ nhớ lớn như vậy:
Nhưng có vẻ như TASkmgr không hiển thị quá trình này, chỉ ProcessExplorer / ProcessHacker mới có thể hiển thị nó. TASkmgr chỉ hiển thị lượng bộ nhớ nén trong tổng quan:
Nếu bạn di chuột qua biểu đồ bộ nhớ đã sử dụng trong TASkmgr, bạn sẽ thấy một chú giải công cụ hiển thị dữ liệu bị nén.
Trong bản demo này, 388MB được nén thành 122 MB, do đó, 267 MB được lưu với nén.