Привет, ребята, и спасибо за ваше время заранее.
В настоящее время я расширяю нашу тестовую среду C # для мониторинга памяти, используемой нашим приложением. Предполагается, что ошибка потенциально возникает, если потребление памяти значительно возрастает при новой сборке, поскольку ресурсы всегда ограничены.
Я использую System.Diagnostics.Process.GetProcessByName, а затем проверяю значение PrivateMemorySize64.
Во время разработки нового теста, когда использовалась одна и та же сборка приложения для согласованности, я видел, что он потребляет разные объемы памяти, несмотря на то, что якобы выполняется точно такой же код.
Итак, мой вопрос: если после запуска приложения, его полной загрузки и в этом случае он находится в состоянии ожидания, то есть в идентичном состоянии от запуска к запуску, могу ли я ожидать, что использованные частные байты будут идентичны от запуска к запуску?
Мне нужно уточнить, что я могу ожидать, что использование памяти будет постоянным, поскольку любая степень отклонения начинает снижать эффективность теста, поскольку необходимо будет ввести степень допуска, чего я хотел бы избежать.
Итак ...
1) Должно ли использование памяти быть на 100% согласованным, если приложение работает согласованно? Это было мое ожидание.
или
2) Существуют ли какие-либо различия в использовании частного байта, возвращаемого окнами, или в памяти, которую оно выделяет по запросу приложения?
В настоящее время, если ответ о том, что память потребляется, должен быть согласованным, как я ожидал, проблема заключается в том, что наше приложение запрашивает другой объем памяти.
Большое спасибо
H