Tôi đang cố gắng tìm ra số lượng bộ nhớ mà quy trình máy chủ Net của tôi đang sử dụng (cho mục đích theo dõi và ghi nhật ký).Quy trình Kích thước bộ nhớ - Các bộ đếm khác nhau
Tôi đang sử dụng:
Process.GetCurrentProcess().PrivateMemorySize64
Tuy nhiên, đối tượng Process có các đặc tính khác nhau cho phép tôi đọc các không gian bộ nhớ sử dụng: Paged, Nonpaged, PagedSystem, NonPagedSystem, tư nhân, ảo, WorkingSet
và sau đó là "đỉnh": mà tôi đoán chỉ lưu trữ các giá trị tối đa mà những cái cuối cùng đã từng sử dụng.
Đọc qua định nghĩa MSDN của từng thuộc tính không chứng minh được quá hữu ích đối với tôi. Tôi phải thừa nhận kiến thức của mình về cách quản lý bộ nhớ (theo phân trang và ảo) rất hạn chế.
Vì vậy, câu hỏi của tôi rõ ràng là "tôi nên sử dụng câu hỏi nào?" Và tôi biết câu trả lời là "nó phụ thuộc".
Quá trình này về cơ bản sẽ giữ một loạt các danh sách trong bộ nhớ của những điều đang diễn ra, trong khi các quá trình khác liên lạc với nó và truy vấn nó cho các công cụ. Tôi hy vọng các máy chủ nơi này sẽ chạy trên để đòi hỏi rất nhiều RAM, và vì vậy tôi đang truy vấn dữ liệu này theo thời gian để có thể ước tính yêu cầu RAM khi so sánh với kích thước của danh sách nó giữ bên trong.
Vậy ... Tôi nên sử dụng cái nào và tại sao?
Đây là cách chính xác nhất mà tôi đã gặp. Tôi muốn khớp với những gì người quản lý công việc đang hiển thị. – Andez