Я разработал приложение, написанное в .NET 4.0/WPF/WCF. Это приложение Telecom, которое связано с большими УАТС и предоставляет пользователям возможность звонить из приложения. Много управляемых событиями программирования используется (много параллельных задач библиотеки, асинхронные вызовы), так что любые изменения, сделанные на жестком телефоне отражает на приложения в режиме реального времени и т.д. ...Огромная разница в потреблении памяти между машинами x64 и x86
Приложение отлично работает высокопроизводительные машины.
Моя конфигурация ноутбук Оперативная память: 8 Гб, процессор: Intel i7, логический процессор: 8, ОС: Windows 7 SP1 (x64)
На моем ноутбуке приложение расходуется память примерно 150 MB. Однако на другом компьютере, где конфигурация является оперативной памятью: 4 ГБ (годная для использования 2,9 ГБ), двухъядерный i3, Windows 7 SP1 (x86), потребление памяти составляет приблизительно 600 МБ. Не могу понять, почему такая разница !!!
Любые указатели, пожалуйста?
Используйте профайлер памяти, например, один из [Red Gate] (http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/) или [Jet Brains] (http://www.jetbrains.com/dotmemory/) – oleksii
Мои вопросы больше касаются архитектуры архитектуры x64 и x86 ... ее после всего того же приложения, которое потребляет 4 раза памяти на компьютерах x86. – JSK
Тяжелые приложения с указателем могут удвоить использование памяти. Вы говорите о частной памяти или о чем? В любом случае, как правило, не вызывает большой озабоченности, если ваша системная память не является недостаточной - как Windows, так и .NET будут счастливо выпускать большую часть «использованной» памяти, если система будет помещена под давлением памяти. Профилирование - общий первый шаг - вы можете использовать бесплатный CLRProfiler, чтобы узнать, что отличается между этими двумя процессами, и, конечно же, инструменты, такие как VMMap, чтобы увидеть различия между использованием виртуальной памяти. – Luaan