Bộ byte làm việc riêng tư VS trong Process Explorer


39

Tôi biết rằng tập làm việc là dung lượng bộ nhớ thực tế mà quá trình đang sử dụng và các byte riêng là số lượng được đặt sang một bên trong trường hợp nó cần nhiều hơn.

Vì vậy, tôi sẽ thêm cả hai để tìm ra bao nhiêu bộ nhớ THỰC SỰ bị lấy đi từ các quá trình khác trên hệ thống?

Câu trả lời:


52

Tôi sợ nó không hoàn toàn đơn giản. Cụ thể, các byte riêng tư không hữu ích cho việc trả lời câu hỏi bạn đặt ra.

Điều đầu tiên cần ghi nhớ là một trang bộ nhớ có thể tồn tại trong bộ nhớ chính hoặc trong bộ nhớ ngoài (ngày nay "phân trang đĩa" hoặc "trao đổi"). Thứ hai là một quy trình sẽ có các trang bộ nhớ riêng trong dấu chân của nó, nhưng cũng sẽ sử dụng các đối tượng trong các trang được chia sẻ, các quy trình khác đang sử dụng cùng một lúc.

Tập làm việc là kích thước của các trang thuộc quy trình, hiện đang được lưu trữ trong bộ nhớ chính. Khi một trang bộ nhớ được sử dụng bởi một quá trình được chuyển đến tệp trang, nó sẽ bị xóa khỏi số liệu của bộ làm việc và khi nó được gọi trở lại vào bộ nhớ chính, nó sẽ được thêm vào một lần nữa.

Tuy nhiên, bộ làm việc không chỉ đề cập đến bộ nhớ mà quá trình của bạn sở hữu. các quy trình sử dụng nhiều đối tượng bộ nhớ dùng chung và kích thước của các đối tượng này được phản ánh trong stat. Thật không may, khi hai quy trình chia sẻ một đối tượng 1MB, cả hai quy trình của chúng đều hiển thị phân bổ 1 MB trong tập làm việc, vì vậy nếu bạn thêm tất cả các bộ làm việc, đối tượng 1MB sẽ được ghi lại hai lần, do đó, việc tích lũy tất cả các kích thước tập làm việc của bạn có thể trong trường hợp cực đoan, dường như vượt quá kích thước của ram có sẵn. xem thêm tại đây: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

Byte riêng đề cập đến lượng không gian tệp Trang được phân bổ cho quy trình (không nhất thiết phải được sử dụng) trong trường hợp dấu chân bộ nhớ riêng của quy trình được phân trang hoàn toàn để trao đổi. hầu hết thời gian, quá trình không hoàn toàn (hoặc hoàn toàn) cư dân tệp trang, vì vậy đó là lý do tại sao các byte riêng tư dường như có "khoảng trống" để phân bổ thêm. Tuy nhiên, đây không phải là trường hợp.

Tuy nhiên, các byte riêng tư chỉ đề cập đến các bộ nhớ riêng của các tiến trình, vì vậy giá trị này có thể không phản ánh các tài nguyên được chia sẻ (ngay cả khi tài nguyên được chia sẻ chỉ được sử dụng bởi quy trình này hiện tại).

"Bộ làm việc riêng tư" ("WS Private byte" hoặc "Private WS" trong process explorer tùy thuộc vào phiên bản) có lẽ là số liệu tốt nhất cho việc sử dụng của bạn. nó không liên quan đến tập tin trang, vì vậy bạn có được sự thể hiện chính xác các tác động của quá trình lên ram vật lý của bạn và nó không nghi ngờ gì về các đối tượng chia sẻ. các đối tượng được chia sẻ được tính một lần (chỉ đối với quy trình đã tạo ra chúng), nhưng điều đó cũng có nghĩa là từ góc độ một quy trình, bạn không ghi lại rằng quy trình của bạn sử dụng các đối tượng chia sẻ được tạo bởi quy trình khác, vì vậy quy trình của bạn có thể sử dụng nhiều ram hơn trên quy trình khác máy hoặc trong tình huống bắt buộc phải tự tạo đối tượng dùng chung thay vì sử dụng một thể hiện quy trình khác của nó. Trình quản lý tác vụ Windows sử dụng bộ làm việc riêng tư làm chỉ số sử dụng bộ nhớ.

mong rằng sẽ giúp


1
Vì vậy, tôi có đúng không khi nói rằng "byte riêng tư" là bao nhiêu bộ nhớ mà quá trình đã yêu cầu và "Bộ làm việc" là byte riêng tư cộng thêm một chút bộ nhớ chia sẻ mà các quá trình khác có thể sử dụng? Ngoài ra, "Bộ làm việc riêng" là dung lượng bộ nhớ riêng hiện có trong RAM vật lý, là đại diện chính xác nhất cho dung lượng bộ nhớ thực sự sử dụng?
Vụ bê bối

4
Vâng khá nhiều. Nếu bạn lo lắng về ram làm việc riêng tư miễn phí là cách để đi. nếu bạn lo lắng về các tập tin trang riêng hoặc toàn bộ cam kết (ram + bộ nhớ ảo) là một số liệu tốt.
Frank Thomas

"Các byte riêng tư" là không gian địa chỉ ảo riêng được cam kết của quá trình. Một số trong số này có thể nằm trong tệp trang, một số trong RAM, một số ở cả hai nơi, một số trong đó - có thể là hầu hết - có thể không có bộ nhớ vật lý nào được chỉ định (chưa). Đó là đóng góp của quá trình vào "phí cam kết" chung của hệ thống. "Tập làm việc riêng" là tập hợp con của "byte riêng" trong RAM. nb: Bạn sẽ không tìm thấy "byte riêng tư" hoặc bất cứ thứ gì giống như trong màn hình của RAMmap vì RAMmap chỉ liên quan đến bộ nhớ vật lý (RAM), không phải ảo.
Jamie Hanrahan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.