Я работаю над приложением-службой c #, и у меня есть эта проблема, где из ниоткуда и без видимой причины память для процесса вырастет с 150 МБ до почти 2 ГБ примерно за 5 секунд, а затем обратно до 150 МБ. Но ничто в нашей системе не должно использоваться где-то рядом с таким количеством памяти (так что, возможно, это где-то ошибка) Это может быть где-то жесткая, но в то время загрузка процессора была очень низкой, поэтому я подумал, что я буду искать другие идеи.
Теперь более странно то, что, когда я компилирую сервис для 64-битной системы, произойдет тот же массовый пакет, за исключением того, что он превысил 10 ГБ ОЗУ (большая часть страниц), и это просто вызвало множество проблем с компьютером и всем, что работает на нем. Через некоторое время он выключается, но похоже, что Windows все еще хочет выделить ему больше памяти.
У вас есть идеи или инструменты, которые я могу использовать, чтобы найти это?
Да, в нем много журналов, но в журналах ничего не говорится о том, почему это происходит.
Я могу запустить службу в режиме консольного приложения, поэтому мой следующий тест собирался запустить ее в отладчике Visual Studio и посмотреть, смогу ли я найти что-нибудь.
Это происходит только изредка, но обычно через 10-20 минут после запуска.
В 32-битном режиме он очищается и продолжается как обычно.
В 64-битном режиме происходит сбой через некоторое время, и он использует глупые объемы памяти.
Но я действительно озадачен тем, почему это происходит !!!
РЕДАКТИРОВАТЬ: Пожалуйста, смотрите комментарии к сообщению windbg