Estoy ejecutando un programa que crea un objeto muy grande, y me beneficiaría enormemente al asignar más de 2 GB de memoria a este proceso. Gracias por adelantado.¿Cómo puedo asignar más de 2GB de memoria a un proceso en Windows?
Respuesta
Parece que hace referencia al límite de 2gb en la memoria virtual en Windows de 32 bits. No puede superar este límite en un sistema de 32 bits.
Puede usar el modificador/3gb en la configuración de boot.ini y marcar el proceso "Large address space aware" ... pero tratar de cargar 2GB en memoria en el sistema operativo de 32 bits no es fácil tarea para el código nativo o administrado. –
@alexei El administrador de la máquina puede hacer/3gb pero una aplicación no puede –
No se puede asignar un solo objeto (o una matriz) que sea mayor que 2 GB, esto es una limitación de CLR. Tendrás que dividir el objeto en pedazos.
así que supongo que tengo un objeto de 3GB que dividí en 6 objetos de 0.5GB, ¿no superaría el límite de proceso de 2GB? Gracias de nuevo. – abw333
Y, TBH, si está tratando de administrar un objeto de este tamaño, debe reconsiderarlo. –
@Schroedingers Cat Es perfectamente razonable querer asignar objetos grandes para algunos algoritmos. –
.NET Framework 4.5 permite crear matrices de más de 2 GB en plataformas de 64 bits. Esta característica no está activada por defecto, tiene que estar habilitada a través del archivo config usando el elemento gcAllowVeryLargeObjects.
http://msdn.microsoft.com/en-us/library/hh285054(v=vs.110).aspx
¿Es esa la única manera? Realmente no quiero cambiar a VS2012 si no es necesario. –
- 1. Memoria máxima. Un proceso .NET puede asignar
- 2. Java está asignando 2gb extra de memoria
- 3. diseño de memoria de proceso de Windows
- 4. ¿Puede un proceso de 32 bits acceder a más memoria en un sistema operativo Windows de 64 bits?
- 5. ¿Guarda la memoria de un proceso para usarla más adelante?
- 6. Carga de un archivo de más de 2GB usando PHP
- 7. Mapa de memoria de proceso (Linux Windows)
- 8. .Net ¿Por qué no puedo obtener más de 11GB de memoria asignada en un proceso x64?
- 9. ¿Cómo puedo leer la memoria de otro proceso en Python en Windows?
- 10. ¿Puedo decirle a Windows que no intercambie la memoria de ningún proceso en particular?
- 11. ¿Podemos asignar un valor a una ubicación de memoria dada?
- 12. ¿Cómo crear un volcado de memoria de un proceso en Windows Server 2003?
- 13. ¿Cómo puedo escribir en otra memoria de proceso?
- 14. Cómo puedo asignar el Caret a un control en WPF
- 15. hibernación de un único proceso en Windows
- 16. Control de versión en una unidad USB de 2GB
- 17. Cuánta memoria está bloqueada en un proceso
- 18. ¿Cómo puedo asignar más de una "CssClass" a un control en asp.net
- 19. Asignar memoria para un vector
- 20. ¿Cómo se ve un mapa de memoria de un proceso de Windows?
- 21. ¿Cuánta memoria debería poder asignar?
- 22. ¿Cómo puedo iniciar un applet de Java con más memoria?
- 23. SIGKILL al asignar memoria en C++
- 24. ¿Cómo "hibernar" un proceso en Linux almacenando su memoria en el disco y restaurándola más tarde?
- 25. Límite de memoria de proceso del proceso de 64 bits
- 26. En un proceso que utiliza mucha memoria, ¿cómo puedo generar un shell sin una horquilla ávida de memoria()?
- 27. cómo obtener un proceso de memoria hijo en node.js?
- 28. Detectando el acceso a la memoria a un proceso
- 29. ¿Uso de memoria de un proceso hijo?
- 30. Asignar un bloque a más de 1 región
pesar de que puede hacer que su programa sea más fácil de escribir, la asignación de 2GB + trozos de la memoria sin duda dará lugar a una aplicación más pobre para su usuario. – JaredPar
¿Cómo construyes un objeto de 2GB? – Gabe
@gabe una matriz es el ejemplo más obvio –