2012-07-27 16 views
32

leí el documento Understanding Virtual Memory y dijo que un método para cambiar los parámetros ajustables en la máquina virtual Linux era el comando:¿Cuánta memoria podría utilizar vm

sysctl -w vm.max_map_count=65535 

Quiero saber qué significa el número 65535 y cuánto la memoria podría ser utilizada por la configuración.

+0

Sé 65535 es el valor predeterminado, quiero saber cómo debo calcular la memoria real vm podría usar –

+0

Hola, encontré algo aquí - [Artículo] (http://knowledgebase.progress.com/articles/Article/P145538) está escrito allí 256MB. – TheNewOne

+0

creo que no puede decir 256MB simplemente aquí, porque en mi sistema vm.max_map_count = 65535, pero mi erlang vm había usado aproximadamente 8GB de memoria y estaba bien –

Respuesta

53

De the Linux kernel documentation:

max_map_count:

Este archivo contiene el número máximo de áreas de mapa de memoria de un proceso pueda tener. áreas de mapa de memoria se utilizan como un efecto secundario de llamar malloc, directamente por mmap y mprotect, y también cuando se carga compartieron bibliotecas.

Aunque la mayoría de las aplicaciones necesitan menos de un millar de mapas, ciertas programas, en particular los depuradores malloc, puede consumir gran cantidad de ellos, por ejemplo, hasta uno o dos mapas por asignación.

El valor por defecto es 65536.

En pocas palabras: esta configuración limita el número de mapeado de memoria discretas áreas - en su propia impone ningún límite en el tamaño de esas zonas o en la memoria que es utilizable por un proceso.

Y sí, esto:

sysctl -w vm.max_map_count=65535 

es sólo una manera más agradable de escribir esto:

echo 65535 > /proc/sys/vm/max_map_count 
+0

Parece que malinterpreté vm.max_map_count significa –

+0

posiblemente más información interesante: https://ynuxtechblog.wordpress.com/2016/01/05/getting-your-system-parameters -justo-en-dockered-elasticsearch/# vm.max_map_count –

+1

podría explicar, lo que los efectos negativos podría ser si el aumento del defecto? – user1767754

2

echo 'vm.max_map_count = 262144' >> /etc/sysctl.conf

sysctl -p

+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación. - [De la crítica] (/ review/low-quality-posts/17912128) – TheMeaningfulEngineer

Cuestiones relacionadas