Лучший способ сохранить проверку памяти в приложении .NET?

#c# #.net #memory

#c# #.net #память

Вопрос:

Мое приложение основано на документах, и использование памяти для каждого документа в определенных сценариях довольно велико. Я хочу продолжать проверять использование памяти и показывать предупреждение пользователю о закрытии некоторых документов, когда доступная память заканчивается.

Каков наилучший способ сделать это?

Комментарии:

1. Хороший вопрос, однако я, вероятно, не стал бы утруждать себя внедрением функции «открыто слишком много документов», поскольку многие пользователи автоматически закроют / повторно откроют ваше приложение / документы, если обнаружат, что приложение становится медленным и не отвечает. В качестве альтернативы я бы, вероятно, реализовал это, подсчитав размер / # открытых документов.

Ответ №1:

Комментарии:

1. Согласно статье, эти счетчики сообщают информацию о GC. Разве GC не заботится только об управляемой памяти?

2. Да, GC беспокоится об управляемой памяти. Учитывая, что вопрос был о . В СЕТИ это не так уж и странно. Существуют другие счетчики, которые отслеживают другие типы памяти: msdn.microsoft.com/en-us/library/windows/desktop / … и вы можете получить доступ к тем, кто использует те же классы в .NET

Ответ №2:

Ответ №3:

В итоге я использовал System.Diagnostics.Process.VirtualMemorySize64 . Я не знаю, лучший ли это или наиболее точный способ сделать это, но он служит моей цели.