Tôi đang cố gắng tìm một cách để xác định thời gian chạy bao nhiêu bộ nhớ mà một lớp đã cho đang sử dụng trong .NET. Việc sử dụng Marshal.SizeOf()
đã hết, vì nó chỉ hoạt động trên các loại giá trị. Có cách nào để kiểm tra chính xác bao nhiêu bộ nhớ một lớp sử dụng?Xác định lượng bộ nhớ mà một lớp sử dụng?
Trả lời
Gần đây tôi mới bắt đầu xem xét loại điều này, nhưng tôi đã thấy rằng các trình thu thập bộ nhớ có thể cung cấp thông tin khá chi tiết về các cá thể của các đối tượng trong ứng dụng của bạn.
Dưới đây là một cặp vợ chồng mà là giá trị cố gắng:
Tôi đồng ý rằng một hồ sơ bộ nhớ là cách dễ nhất để có được những thông tin mà bạn đang tìm kiếm. Ngoài hai thiết bị được đề cập trước đây, tôi khuyên bạn nên sử dụng JetBrains dotTrace, đây là cả trình biên dịch hiệu suất và trình thu thập bộ nhớ.
Nếu bạn muốn tự mình làm điều đó và sẵn sàng thâm nhập sâu vào CLR, bạn có thể sử dụng .NET Profiling API, một API không được quản lý (như Microsoft nói): "cho phép trình theo dõi hồ sơ một chương trình được thực hiện bởi thời gian chạy ngôn ngữ chung (CLR). " Nó không chính xác dùng cho mục đích sử dụng bình thường, nhưng nó có một lượng lớn chức năng.
chỉ liên kết đến liên quan SO câu hỏi:
- 1. Tôi làm cách nào để xác định dung lượng bộ nhớ mà chương trình .NET của tôi đang sử dụng?
- 2. số lượng bộ nhớ mà một chuỗi ghi trong java
- 3. Kịch bản lệnh Python biết số lượng bộ nhớ mà nó đang sử dụng
- 4. Cách xác định mức sử dụng bộ nhớ trong ứng dụng .NET của tôi
- 5. Xác định số lượng byte được sử dụng bởi một biến
- 6. Xác định ai/dung lượng bộ nhớ ảo 5.5 GB trong w3wp.exe
- 7. Xác định mức sử dụng bộ nhớ của các đối tượng?
- 8. Xác định mức sử dụng bộ nhớ của các phần tử DOM được lưu trong bộ nhớ cache trong JavaScript?
- 9. Xác định số lượng trang trên mỗi bảng SQL mà không sử dụng DBCC
- 10. Delphi: sử dụng TClientDataset làm bộ nhớ trong bộ nhớ
- 11. Tìm hiểu số lượng bộ nhớ đang được sử dụng bởi một đối tượng trong C#?
- 12. Lực lượng .NET webservice sử dụng lớp đối tượng cục bộ, không phải lớp proxy
- 13. Lớp được xác định mà không chỉ định một lớp cơ sở?
- 14. Cách chính xác để sử dụng bộ nhớ Mathematica?
- 15. Sử dụng bộ nhớ Python: Đối tượng nào của tôi đang chiếm nhiều bộ nhớ nhất?
- 16. Cách đo dung lượng bộ nhớ mà một đối tượng riêng lẻ có trong .NET
- 17. Visual Studio 2005 Sử dụng bộ nhớ
- 18. Sử dụng bộ nhớ GPU progamatically
- 19. Xác định các vấn đề về bộ nhớ trong một ứng dụng ASP.NET
- 20. Giảm mức sử dụng bộ nhớ RabbitMQ
- 21. Xác định số lượng một CALayer đã xoay
- 22. C dụ # lớp học với phương pháp tĩnh vs sử dụng bộ nhớ lớp tĩnh
- 23. NHibernate mà bộ nhớ cache để sử dụng cho ứng dụng WinForms
- 24. Android deallocate Bitmaps đi vào bộ nhớ "không xác định"
- 25. Sử dụng bộ nhớ C#
- 26. Linux: Xác định các trang trong bộ nhớ
- 27. Dung lượng sử dụng bộ nhớ chia sẻ Azure được tính như thế nào?
- 28. mysql - Tôi có thể xác định hoặc giới hạn số truy vấn bộ nhớ được phép sử dụng
- 29. Xác định xem vị trí bộ nhớ có trong bộ nhớ cache CPU
- 30. Bộ nhớ đệm chuỗi. Tối ưu hóa bộ nhớ và sử dụng lại