Bên trong ứng dụng đa luồng phức tạp Tôi đang đánh một ngoại lệ ngoài bộ nhớ có thể mỗi tuần một lần. Ứng dụng này đang gửi/đọc một lượng lớn dữ liệu qua một số ổ cắm, nơi dữ liệu đọc được lưu trữ để tránh tràn bộ đệm thẻ mạng.
Chiến lược tốt nhất để phân tích ngoại lệ bộ nhớ là gì? Trong thời gian chạy bình thường, Ứng dụng được hiển thị với kích thước "Tổng số byte trong tất cả các Heap" lên tới 1,5 Gigabyte trong Trình khám phá quy trình.
Nó có thể là một chiến lược để có một sợi đó là bỏ phiếu hoặcC# Hết bộ nhớ ngoại lệ - chiến lược cảnh báo
GC.GetTotalMemory()
hoặc
PrivateMemorySize64()
một lần thứ hai để biết khi nào nên bắt đầu phân tích mọi thứ? Tôi đã không nhìn vào profilers thương mại được nêu ra và tôi là một chút lo ngại về tác động hiệu suất của họ mà có thể cho kết quả cũng sai về phân tích vấn đề thực tế.
Bộ nhớ đệm của bạn hoạt động như thế nào? Tôi sẽ xem xét một chiến lược phân bổ khác cho bộ nhớ đệm của bạn. – CodesInChaos
Để làm rõ, bạn có biết nguyên nhân gây ra ngoại lệ bộ nhớ và bạn đang tìm kiếm một cách để cấu hình bộ nhớ đệm trong ứng dụng của bạn để điều này không xảy ra? Hoặc là nó mà bạn không biết chính xác những gì gây ra nó và bạn muốn tot gỡ lỗi vấn đề? – svick