Есть ли что-то в .NET, которое соответствует распределению памяти java -Xmx
?Как увеличить размер кучи .NET?
ответ
Посмотрите на эту тему: Maximum Heap size - только решение для расширения памяти.
This thread выглядит как раз то, что вы хотите.
Если я правильно читаю сообщение MVP, в 32-битной системе вы ограничены размером кучи размером 1,5 ГБ независимо от того, из чего вы получаете все, как только начнется процесс. В 64-битной системе ваша куча практически не ограничена, я не думаю, что какой-либо основной сервер или ПК может содержать столько физической памяти, сколько может обратиться к 64-битовому процессу.
Насколько я понял, нет простого способа контролировать размер кучи приложения .NET с помощью CLR.
Ссылка в ответе @ Дейва только на половину ответа на вопрос. Когда я исследовал эту же проблему, ответ «Куча растет, чтобы использовать всю доступную память», как будто это единственная причина, по которой вы хотите контролировать максимальный размер кучи.
В средах сервера (обычно в Java) вы не хотите, чтобы приложение, работающее с плохой эксплуатацией, загружалось за счет других размещенных приложений. Простое решение - ограничить объем памяти, который приложение может использовать для своей кучи. Это достигается с помощью аргумента -Xmx Java, поэтому вы можете гарантировать, что приложение не будет использовать больше, чем планировалось, например. -Xmx256M. Так как выделение памяти в куче во время инициализации может замедлить запуск приложений, Java использует -Xms arg, чтобы приложения, которые много делают для создания объекта во время инициализации, начинают с большого блока кучи вместо JVM, постоянно изменяющего размер кучи, поскольку он идет.
.Net CLR не обладает этой способностью. Я подозреваю, что это потому, что CLR .Net не является виртуальной машиной. CLR - это API (достаточно полный, я могу добавить), который служит адаптером для родных .dll, которые приравниваются к подходу, гораздо более похожим на исполняемый файл, когда дело доходит до управления памятью.
Я задал этот вопрос о развитии SharePoint и слышал, что можно было бы контролировать кучу с помощью модулей IIS, называемых веб-приложениями, посредством которых вы можете сообщить IIS ограничить память данного веб-приложения. Интересно, связано ли это с тем, что IIS настроил подпрограммы, которые заменяют/переопределяют new()/malloc()/etc и, таким образом, могут предоставлять этот тип управления клиентским приложениям. Это означает, что автономные приложения .Net не повезло, если вы не хотите писать пользовательский диспетчер памяти на C++ и создавать интерфейс для .Net.
Суть в том, что программа CLR использует любые политики управления и управления памятью для управления хостингом процесс ставится на место. Вот почему вы должны контролировать использование вашей памяти на веб-странице C# из IIS, потому что IIS - это хост-процесс, который обеспечивает среду для выполнения кода CLR.
- 1. Как увеличить размер кучи
- 2. увеличить размер кучи java навсегда?
- 3. Как увеличить размер кучи для Eclipse?
- 4. Как увеличить размер кучи приложения для Android?
- 5. Как увеличить размер памяти кучи программно
- 6. Как увеличить размер кучи в Java ME?
- 7. Как увеличить размер кучи java в netbeans?
- 8. Как увеличить размер кучи java в Hadoop
- 9. Как увеличить размер кучи в java?
- 10. Как увеличить размер кучи java программно
- 11. Как увеличить размер кучи приложения в Eclipse?
- 12. Как увеличить размер кучи моего приложения Java?
- 13. Как увеличить максимальный размер кучи Java 6?
- 14. Как увеличить размер кучи приложения для Android?
- 15. Неуправляемый размер кучи приложения .net
- 16. Увеличить размер кучи для sqlworkbench/J
- 17. C# Увеличить размер кучи - Возможно ли это
- 18. Увеличить размер кучи JVM для Scala?
- 19. Генерация .NET 0 размер кучи
- 20. увеличить размер кучи java навсегда после перезагрузки?
- 21. Почему я не могу увеличить размер кучи?
- 22. Ошибка при попытке увеличить размер кучи java
- 23. Увеличить размер кучи в java для weka
- 24. Cordova/PhoneGap - Увеличить размер кучи демона OSX
- 25. Как анализировать неуправляемый размер кучи .NET-процесса
- 26. Насколько увеличивающийся размер подкачки позволяет увеличить размер кучи?
- 27. Как увеличить размер кучи в Eclipse IDE для запуска JavaWebApplication?
- 28. Как увеличить размер кучи Java в aws Lambda?
- 29. Проблемы с java-кучей пространства, как увеличить размер кучи?
- 30. Как увеличить размер памяти кучи для приложения IE в окнах?
Что делать, если вы хотите ограничить размер кучи до установленной суммы? –
Убедитесь, что вы построили свою сборку на x64 или любом CPU! Если вы создадите x86, то даже на OS/Hardware x64 у вас будет ограничение 1,5 ГБ. – Despertar
Я думаю, что OP спрашивает, как ограничить кучу приложения .Net, чтобы использовать только 256 МБ. Он спрашивает, есть ли переменная аргумента/конфигурации/среды, которая сделает это, а не только увеличивая кучу. –