En el mecanismo de gestión de memoria de Linux

Una memoria física y memoria virtual

         Sabemos, leer y escribir datos directamente desde la memoria física que la de un disco duro leer y escribir datos mucho más rápido, por lo tanto, queremos leer y escribir todos los datos se han completado en la memoria, y la memoria es limitada, por lo que lleva a la física el concepto de memoria y la memoria virtual.
memoria física es el hardware del sistema para proporcionar tamaño de la memoria, es una memoria real, en relación con la memoria física en linux hay un concepto de memoria virtual, la memoria virtual es las estrategias de memoria física con el fin de cumplir con la propuesta, es el uso de espacio en disco a, espacio de disco memoria lógica virtualizado para el espacio de intercambio de memoria virtual se llama (espacio de intercambio) .
         Como una extensión de la memoria física, Linux estará en la memoria física, la partición de intercambio de memoria virtual, más detallado, es que el núcleo temporalmente la información bloque de memoria no utilizada se escribe en el espacio de intercambio, por lo que desde la memoria física ha sido puesto en libertad, esta memoria se puede utilizar para otros fines, cuando la necesidad de utilizar el contenido original, y esta información es volver a leer en la memoria física del espacio de intercambio.
         Linux mecanismo de paginación de la memoria de gestión de acceso es adoptada, con el fin de garantizar la memoria física puede ser utilizado en su totalidad, el bloque de datos del núcleo en el momento apropiado en la memoria física no se utiliza a menudo en la conmutación automática a la memoria virtual, y la utiliza con frecuencia la información reservada a la memoria física.
         Para obtener más información sobre el mecanismo de funcionamiento de memoria Linux, es necesario conocer los aspectos mencionados a continuación:
         Primero, el sistema Linux de vez en cuando para las operaciones de cambio de página, con el fin de mantener la mayor cantidad de memoria física libre, e incluso si no necesita memoria, Linux también Lo que no habría cambiado temporalmente fuera de páginas de memoria. Esto evita el tiempo requerido para el intercambio de espera.
         En segundo lugar, Linux para el intercambio de la página es condicional, no todas las páginas cuando no está en uso se conectan a la memoria virtual, Linux kernel basado en "más a menudo utilizado recientemente" algoritmo, sólo cambiar algunas páginas no se utilizan con frecuencia archivos en la memoria virtual, a veces nos usted ve un fenómeno: Linux hay una gran cantidad de memoria física, sino que también utiliza una gran cantidad de espacio de intercambio. De hecho, no es de extrañar, por ejemplo, tomar un montón de proceso de la memoria se está ejecutando, se necesita una gran cantidad de recursos de memoria, entonces habrá algunos de los archivos de uso menos frecuente son las páginas en la memoria virtual intercambiados, pero más tarde esta ocupar una gran cantidad de recursos de memoria al final del proceso y libera una gran cantidad de memoria, se me ha intercambiado archivos de página no se intercambian automáticamente en la memoria física, a menos que sea necesario, a continuación, el sistema se encuentra en el momento en que una gran cantidad de memoria física va a estar inactivo, y el espacio de intercambio se están utilizando, se han fenómeno que acabamos de mencionar. En este punto, no se preocupe por nada, siempre y cuando sé cómo es en él.
         Por último, el espacio de la página de intercambio cuando está en uso primero se intercambió en la memoria física, si en este momento no hay suficiente memoria física para dar cabida a estas páginas, serán cambiados de inmediato, por lo que ya puede que no haya suficiente espacio de memoria virtual para almacenar estas páginas del intercambio, el tiempo dará lugar a Linux accidente falso, excepciones de servicio y otras cuestiones, aunque Linux puede restaurarse con el tiempo, pero el sistema después de la recuperación ha sido básicamente inservible.

Por lo tanto, la planificación racional y el uso de memoria de diseño Linux es muy importante.

Dos de memoria monitoreo
         como administrador de sistemas Linux a la condición de uso de la memoria del monitor es muy importante, ayuda a entender mediante el control de uso de memoria, tales como el uso de memoria es normal, si la falta de memoria, etc., el monitoreo de memoria más utilizada comandos son gratis, como Top, tras lo libre es la salida de un sistema:
[haixigov servidor web @ ~] $ gratuitas
             totales buffers compartidos gratis usados en caché
Mem: 41940 0 465 404 12714880 16402432 16360492
- / + buffers / cache: 3.180.208 13.222.224
de intercambio: 8193108264 8192844
se explica el significado de cada opción en los resultados de salida:
la primera es la primera línea de:
l en total: el tamaño total de la memoria física. 
 utilizado: la memoria física se ha utilizado en su mayoría pequeñas. 
 libres: libres valor de la memoria física. 
 compartida: múltiples procesos a valor de memoria compartida.
 buffers / cache: tamaño de la caché de disco. 
El segundo Mem línea: representa el uso de la memoria física.
La tercera línea (- / + buffers / cache) : representa el uso de caché de disco.
Cuarta fila: Intercambiar expresado uso de la memoria del espacio de intercambio.
Estado de la memoria de salida de órdenes libre puede ser vista por dos ángulos: un núcleo desde un punto de vista, es una vista desde la perspectiva de la capa de aplicación. 
 

1. Para ver el estado de la memoria desde la perspectiva del núcleo
es el núcleo se puede asignar directamente a la presente, ninguna operación adicional, es decir, por encima del valor de salida de comandos libre del elemento Mem segunda fila, se puede ver, este sistema tiene la memoria física 16G, libre de Sólo 41940K, que es más de 40M de memoria, hacemos un cálculo de este tipo:
16402432-16360492 = 41940  
es en realidad la memoria física total menos el tamaño de la memoria física que está libre de la memoria física se ha utilizado, prestar atención aquí disponibles valor en la memoria amortigua 41 940 no contiene el estado almacenado en caché y el tamaño de la memoria.
Si cree que este sistema de memoria libre es demasiado pequeño, entonces usted está equivocado, de hecho, el control total del uso de la memoria del kernel, tendrá cuando sea necesario Linux memoria, o paso a paso el sistema está funcionando, los tampones y el estado almacenado en caché estado de memoria para la memoria a ser libre, para uso del sistema. 
 

2. Desde el punto de vista del estado de uso de la memoria del sistema de capa de aplicación
es una aplicación que se ejecuta en un tamaño de memoria Linux puede ser usado, es decir, la tercera línea libre de comando - Output "(/ caché / + buffers) " se puede ver, este la memoria del sistema se usa sólo 3180208K, mientras que la memoria llega 13222224K, continuar para hacer un cálculo:
41940+ (465.404 + 12714880) = 13.222.224
por esta ecuación muestra que la aplicación del valor de la memoria física disponible es de valor libre de artículos MEM más tampones y y el valor almacenado en caché, es decir, el valor de las barreras libres y los elementos almacenados en caché incluyendo el tamaño,
para aplicaciones, tampones y / o posesión de la memoria caché está disponible, ya que las memorias intermedias / caché para mejorar el rendimiento de la lectura de ficheros, cuando la aplicación requiere memoria, memorias intermedias / caché pronto serán recuperados, para su uso por el programa.
 

3. tampones y similitudes en caché y las diferencias
 en el sistema operativo Linux, cuando las necesidades de la aplicación para leer el archivo de datos, el sistema operativo para asignar parte de la memoria, los datos se leen desde el disco en la memoria, y luego se distribuyen las aplicaciones de datos; cuando se necesita para escribir datos en un archivo, el sistema operativo asigna memoria para recibir datos de usuario, los datos de la memoria al disco. Sin embargo, si hay una gran cantidad de datos para ser leídos desde el disco en la memoria o escrito en el disco por la memoria de lectura y el rendimiento de escritura del sistema se vuelve muy baja, ya que tanto los datos del disco de leer o escribir datos en el disco, es una muy proceso que consume muchos recursos de tiempo y, en este caso, la introducción de Linux tampones y los mecanismos de caché.
tampones y las operaciones de memoria caché se utilizan una vez los archivos abiertos y sistemas de almacenamiento de información de atributos de archivo, de modo que cuando las necesidades del sistema operativo para leer ciertos archivos mirará primero tampones y área de memoria caché, si lo encuentra, lectura directa pasa a la aplicación, si se encuentra que los datos requeridos, se lee desde el disco, que es el mecanismo de almacenamiento en caché del sistema operativo, por el almacenamiento en caché, lo que mejora el rendimiento del sistema operativo. Pero el contenido de tampones y búfer en caché es diferente.
tampones se utilizan para amortiguar la pieza de equipo para hacerlo, registra los metadatos del sistema de archivos (metadatos) y el seguimiento de las páginas en vuelo, el archivo almacenado en caché se utiliza para hacer la memoria intermedia. Lo más popular decir: tampones utilizados principalmente para directorio de almacenamiento de qué contenido, atributos y permisos de archivos y así sucesivamente. Los archivos y programas que se utilizan para la memoria caché directamente abiertos nuestros recuerdos.
Con el fin de verificar nuestras conclusiones son correctas, vi se puede abrir un archivo muy grande, ver los cambios en caché, y luego vi este archivo de nuevo, se sienten las similitudes y diferencias entre los dos tasa de apertura no es acelerar significativamente el segundo tiempo para abrir más rápido que la primera vez que?
A continuación, ejecute los siguientes comandos:
 find / -name * * .conf
         Para ver si los cambios en el valor de tampones, y luego repetir el comando find para ver si la pantalla doble de la velocidad de cualquier diferente.
         Memoria para ejecutar el principio operativo Linux del sistema, en gran medida basado en la demanda servidores diseñados, por ejemplo, amortiguando mecanismo se utiliza a menudo para poner los archivos del sistema y los datos almacenados en caché en la memoria caché, Linux siempre se esfuerzan para almacenar en caché más datos e información, se puede tomar de nuevo cuando sea necesario los datos directamente desde la memoria sin necesidad de una operación de disco largo, esta idea de diseño para mejorar el rendimiento general del sistema.

El uso de tres de intercambio de espacio de intercambio
        Aunque la memoria se ha vuelto muy barato, pero el canje sigue siendo un gran valor, la planificación racional y el uso de partición de intercambio, y el funcionamiento estable del sistema es esencial. El sistema de archivos de Linux puede utilizar un archivo normal o en una partición separada utilizado para el espacio de intercambio. Al tiempo que permite el uso de una pluralidad de intercambio de Linux o archivo de intercambio.
 

1. La creación de espacio de intercambio de intercambio
         para crear el archivo de intercambio de espacio de intercambio requerida es un archivo normal, sin embargo, crear un archivo de intercambio y crear un archivo diferente común, debe hacerse mediante comando dd, y el archivo debe estar ubicado en un disco duro local, no un sistema de archivos de red (NFS) en el archivo de intercambio para crear un intercambio. Por ejemplo:
[root @ localhost el ~] # dd if = / dev / zero of = / datos / el archivo de intercambio BS = 1024 count = 65536
65536 + 0 registros en
65536 + 0 records out
creando así un tamaño de archivo de intercambio de espacio continuo sobre el 60M, alrededor de comando dd para hacer una simple sobre:
SI = archivo de entrada o el nombre del dispositivo.
de = nombre de archivo de salida o el dispositivo.
IBS = bytes representan bytes leídos en bytes (es decir, un tamaño de bloque de bytes bytes).
obs = bytes bytes bytes indica una escritura (es decir, un tamaño de bloque de bytes bytes).
bs = bytes, y establecer el tamaño del bloque de lectura, en bytes, y este parámetro se puede utilizar en lugar IBS obs.
count = bloques bloque bloques única copia.
Saltar Saltar = bloques representan los bloques antes de iniciar copias de bloques desde el principio del archivo de entrada.
= buscan bloques representan bloques omitidos antes de iniciar copias de bloques desde el principio del archivo de salida. (Por lo general, sólo cuando el archivo de salida sólo es válida en disco o cinta)
en el que el dispositivo de entrada / dev / cero representa la salida de un archivo de dispositivo es siempre 0, y usarlo como entrada puede conseguir a todo el archivo está vacío.
 

2. la activación de intercambio y el uso
por el primer comando mkswap o un archivo designado como un espacio de intercambio de dispositivo:
[el root @ localhost ~] # mkswap / datos / los archivo de intercambio
el establecimiento Versión espacio de intercambio 1, tamaño = 67104 kB.
[el root @ localhost copia de seguridad] # Anuncios
             total gratis usados buffers de caché compartida
Mem: 2.066.632 1.998.188 1.588.044 26.160 68.444 0
- / + buffers / cache: 383984 1682648
swap: 4088500 3987464 101 036
desde la salida anterior, se especifica un espacio de intercambio 67104 kB, y en este momento el nuevo espacio de intercambio no ha sido el uso, la siguiente es una breve comando mkswap, mkswap formato de uso general:
mkswap [parámetros] [dispositivo o nombre de archivo] [tamaño de intercambio]
parámetros:
-C: antes de establecer la zona de intercambio para comprobar los bloques erróneos.
-V0: el establecimiento de la edad de intercambio, este es el valor predeterminado.
-v1: el establecimiento de nuevo canje.
Tamaño de intercambio: Especifica la zona de cambio, en unidades de 1024 bytes.
Después de ajustar la partición de intercambio, seguido de orden de activación swapon swap:
[El root @ localhost ~] # / usr / sbin / swapon / datos / archivo de intercambio
[el root @ localhost copia de seguridad] # Anuncios
             total utilizado tampones gratuito compartidos en caché
Mem: 2066632 1997668 68 964 0 27 404 1588880
- / + buffers / cache: 381 384 1685248
de intercambio: 4154028 1009764053052
         puede ser visto por el comando libre, tamaño de intercambio ha sido cambiado por el 4088500k 4154028k, el valor de la diferencia es de aproximadamente 60 millones, media que acabamos de agregar un tamaño de archivo de intercambio, lo que indica que la nueva partición de intercambio está listo para usar, pero si Linux reinicio, entonces el nuevo espacio de intercambio no estará disponible, por lo que es necesario añadir en / etc / fstab para cargar automáticamente la configuración:
 / Data / archivo de intercambio ninguno de intercambio sw 0 0
cuanto que, en Linux se puede reiniciar automáticamente después de intercambio de carga partición. De hecho, Linux comando "swapon -a" en el proceso de inicio de realizar, este comando se carga todo el espacio de intercambio aparece en / etc / fstab.
 

3. Extracción de intercambio
de espacio de intercambio mediante la eliminación de uno swapoff El
[la raíz @ localhost ~] # / usr / sbin / El swapoff / datos / archivo de intercambio
hecho de ser definido por Quitar "swapoff -a" / etc / fstab todo el intercambio el espacio, donde "swapoff -a" y los corresponde antes mencionadas "swapon -a". Después de realizar "swapoff -a", la salida del comando libre de la manera siguiente:
[el root @ localhost copia de seguridad] # Anuncios
             buffers compartidos total gratis usados en caché
Mem: 2066632 2048724 17908 0 30352 1642748
- / + buffers / cache: 375 624 1691008
de intercambio: 0 0 0

Publicados 407 artículos originales · ganado elogios 150 · vistas 380 000 +

Supongo que te gusta

Origin blog.csdn.net/ds1130071727/article/details/102627465
Recomendado
Clasificación