Aquí podría ser tu PUBLICIDAD


¿Cuánta memoria puede acceder a un proceso de 32 bits en un sistema operativo de 64 bits?

votos
74

En Windows, en circunstancias normales, un proceso de 32 bits solo puede acceder a 2 GB de RAM (o 3 GB con un interruptor especial en el archivo boot.ini). Al ejecutar un proceso de 32 bits en un sistema operativo de 64 bits, ¿cuánta memoria hay disponible? ¿Hay algún cambio o configuración especial que pueda cambiar esto?

Publicado el 12/03/2009 a las 18:00
fuente por usuario jjxtra
En otros idiomas...        العربية       

7 respuestas

votos
74

2 GB por defecto. Si la aplicación tiene un gran espacio de direcciones (vinculado con / LARGEADDRESSAWARE), obtiene 4 GB (no 3 GB, consulte http://msdn.microsoft.com/en-us/library/aa366778.aspx )

Todavía están limitados a 2 GB ya que muchas aplicaciones dependen de que el puntero superior de los punteros sea cero.

Respondida el 12/03/2009 a las 06:04
fuente por usuario Michael


Aquí podría ser tu PUBLICIDAD


votos
17

4 GB menos lo que usa el sistema si enlaza con / LARGEADDRESSAWARE.

Por supuesto, debe tener aún más cuidado con la aritmética del puntero si establece ese indicador.

Respondida el 12/03/2009 a las 06:03
fuente por usuario MSN

votos
14

Nadie parece tocar en el hecho de que si usted tiene muchas diferentes aplicaciones de 32 bits, el subsistema wow64 puede asignar en cualquier lugar en la memoria por encima de 4G, por lo que en un Windows de 64 bits con memoria suficiente, puede ejecutar muchas más aplicaciones de 32 bits que en un sistema de 32 bits nativo.

Respondida el 22/01/2013 a las 11:09
fuente por usuario Harm ten Napel

votos
7

Un proceso de 32 bits todavía está limitado a las mismas restricciones en un sistema operativo de 64 bits. El problema es que los punteros de memoria tienen solo 32 bits de ancho, por lo que el programa no puede asignar / resolver ninguna dirección de memoria de más de 32 bits.

Respondida el 12/03/2009 a las 06:04
fuente por usuario Ben S

votos
2

Un proceso único de 32 bits bajo un sistema operativo de 64 bits está limitado a 2 GB. Pero si se compila a un archivo EXE con el conjunto de bits IMAGE_FILE_LARGE_ADDRESS_AWARE, entonces tiene un límite de 4 GB, no 2Gb - ver https://msdn.microsoft.com/en-us/library/aa366778(VS.85). aspx

En cualquiera de los casos, el espacio de direcciones virtuales del núcleo se comparte a través de todos los procesos. Por eso, incluso si tiene un gran número de procesos de 32 bits que pueden quedarse sin memoria, a pesar del hecho de que tiene gran cantidad de memoria disponible para el sistema operativo de 64 bits, por ejemplo, 16 GB - 32 bits procesos en total pueden correr rápidamente fuera del espacio del núcleo virtual de direcciones disponible para ellos (un máximo de 2 GB).

Las cosas que se escuchan indicadores de inicio especiales, 3 GB, / interruptores 3GB o / userva son todos acerca de los sistemas operativos de 32 bits y no se aplican en Windows de 64 bits.

Ver https://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx para más detalles.

Como acerca de los sistemas operativos de 32 bits, al contrario de la creencia, no hay límite físico de 4 GB para los sistemas operativos de 32 bits. Por ejemplo, 32 bits sistemas operativos de servidor, como Microsoft Windows Server 2008 de 32 bits pueden acceder hasta a 64 GB (Windows Server 2008 Enterprise y Datacenter) - por medio de Extensión de dirección física (PAE), que fue introducido por primera vez por Intel en el Pentium Pro, y más tarde por AMD en el procesador Athlon - que define una jerarquía de tabla de página de tres niveles, con entradas de la tabla de 64 bits cada vez de 32, permitiendo que estas CPU para acceder directamente a un espacio de direcciones físicas mayor que 4 gigabytes - por lo teóricamente, un sistema operativo de 32 bits puede acceder a 2 ^ 64 bytes teóricamente, o 17,179,869,184 gigabytes, pero el segmento está limitado por4GB. Sin embargo, debido a razones de marketing, Microsoft ha limitado máximo de memoria accesible en los sistemas operativos de servidor no solo a 4 GB, o, incluso, 3GB de manera efectiva. Por lo tanto, un único proceso puede acceder a más de 4 GB en un sistema operativo de 32 bits - y Microsoft SQL Server es un ejemplo.

Respondida el 01/07/2017 a las 02:05
fuente por usuario Maxim Masiutin

votos
-1

Tiene la misma restricción básica cuando ejecuta un proceso de 32 bits en Win64. Su aplicación se ejecuta en un 32 pero subsistema que hace todo lo posible para parecerse a Win32, y esto incluirá las restricciones de memoria para su proceso (menos 2GB para usted, 2GB superior para el sistema operativo)

Respondida el 12/03/2009 a las 06:03
fuente por usuario Sean

votos
-8

El límite no es 2g o 3GB su 4gb de 32 bits.

La razón la gente piensa que su 3gb es que el sistema operativo muestra 3gb libre cuando realmente tienen 4 GB de RAM del sistema.

Su memoria RAM total de 4gb. Así que si usted tiene una tarjeta de video de 1 GB que cuenta como parte de la RAM total de consultados por el sistema operativo de 32 bits.

4gig no 3 no consiguió 2?

Respondida el 14/05/2012 a las 01:27
fuente por usuario BobJ