"Tại sao bộ nhớ của Commit cam của tôi lại cao hơn nhiều so với dung lượng RAM thực tế của tôi?" Bởi vì "đã cam kết" chủ yếu là không gian địa chỉ ảo riêng tư quy trình và một số trong số này có thể nằm trong RAM và một số trong tệp trang.
Và một số có thể không chiếm bất kỳ lưu trữ nào cả! Đó là nếu nó được phân bổ nhưng không bao giờ được truy cập, do đó chưa "bị lỗi". Nhưng nó vẫn đếm chống lại "cam kết hạn" bởi vì nếu nó là nó truy cập trong tương lai, nó sẽ chiếm lưu trữ sau đó . Và đó là quá muộn để hệ thống nói "xin lỗi, tất cả chúng ta đã hết phòng."
Điểm chung của bộ nhớ ảo là nó có thể lớn hơn nhiều so với vật lý (RAM), phải không?
btw ... bạn dường như có một trang có dung lượng khoảng 24 GB, vì bạn có RAM 8 GB và giới hạn cam kết là 32 GB. Vì vậy, "cam kết" của bạn có thể lên tới 32 GB. (Và tại thời điểm này gần như là mức cao, vì vậy việc giảm hoặc loại bỏ tệp trang sẽ là một ý tưởng tồi.)
Trong khi đó RAM được sử dụng chỉ có vậy. Vì vậy, tất nhiên , RAM được sử dụng + pagefile được sử dụng có thể lớn hơn RAM được sử dụng.
Rốt cuộc, một phần của toàn bộ bộ nhớ ảo là bạn có thể sử dụng nhiều bộ nhớ ảo hơn so với bộ nhớ vật lý (RAM).
Nếu bạn muốn tìm hiểu những gì sử dụng bộ nhớ đã cam kết, bạn cần xem tab "Chi tiết" của Trình quản lý tác vụ và bật cột "Kích thước cam kết".
Tổng số cột "Kích thước cam kết" cũng sẽ không cộng với "phí cam kết" (30,1 GB trên máy của bạn), bởi vì những thứ khác góp phần vào phí cam kết: Nhóm không phân trang và phân trang và một số cơ chế "tinh tế" hơn như sao chép -viết các phần, các phần được hỗ trợ bởi pagefile, ánh xạ AWE ... nhưng các phần này thường nhỏ so với các vas riêng của quy trình)
Trên tab đó, cột "Bộ nhớ (Bộ làm việc riêng)" tương ứng với những gì tab "Quy trình" hiển thị cho "Bộ nhớ". Đây là RAM hiện được gán cho mỗi quy trình cho không gian địa chỉ ảo đã cam kết của nó. Phần còn lại sẽ nằm trong pagefile. Nhưng, một lần nữa, các quy trình có các loại không gian địa chỉ khác, chủ yếu là loại được gọi là "ánh xạ" và một số phần đó cũng sẽ có trong RAM. Có những thứ khác trên toàn hệ thống được tạo bởi HĐH, không dành riêng cho bất kỳ quy trình nào, cũng sử dụng hết RAM.
Nói tóm lại, cột "Bộ nhớ" của tab "Quá trình" không được phép thêm vào tổng RAM được sử dụng. Nó chỉ cho thấy bao nhiêu trong tổng số sử dụng đang được sử dụng riêng cho từng quy trình.