Высокий% памяти используется неуправляемыми ресурсами в приложении.NET
У меня есть веб-сайт, который выполняет простые запросы MDX и производит вывод. Этот вывод используется для создания файла Excel. Я использовал профилировщик ANTS и узнал, что большой объем памяти используется неуправляемыми ресурсами. Проверьте изображение ниже:
( Изображение в полном размере)
Что мне делать дальше, чтобы обнаружить такие утечки памяти. Я хочу выяснить, почему эти объекты все еще живы в памяти. Пожалуйста, предложите, что мне делать дальше.
1 ответ
У меня возникла похожая проблема. У меня нет решения для обнаружения утечки памяти, но я дам вам знать путь, который я выбрал. Вместо вызова MDX прямо со страницы я переместил запросы MDX в хранимую процедуру SQL, которая возвращает набор результатов, который я могу использовать, как если бы это был реляционный запрос.
CREATE procedure [dbo].[executeMdxQuery]
as
Declare @sql nvarchar(max) = ' SELECT a.* FROM OpenQuery("MY_SERVER",''
with member [Measures].[Fiscal Calendar Level] as ' --- remaining MDX
exec sp_executesql @sql
GO
Надеюсь это поможет