19 octubre 2009

La optimización de Linux VM

Un rápido subsistema de disco con varios discos SCSI. Las aplicaciones se ejecutan en el kernel, no escriben directamente en el disco. Lo escriben en la caché de sistema de archivos que es gestionado por el gestor de memoria virtual de Linux kernel. Desde el controlador RAID de alto rendimiento necesita reducir el número de escaleras de color. ¿Cómo puedo ajustar el subsistema de memoria virtual en sistemas operativos Linux para un mejor rendimiento?

Linux le permite ajustar el subsistema VM. Sin embargo, ajustar el subsistema de memoria es una tarea difícil. Una configuración incorrecta puede afectar el rendimiento general de su sistema. Le sugiero que modifique un ajuste en un momento y supervisar el sistema por algún tiempo.

Los archivos en este directorio se puede utilizar para ajustar el funcionamiento de la memoria virtual (VM) del subsistema del kernel de Linux:

cd /proc/sys/vm
ls -l

Resultados de la muestra:

total 0
-rw-r--r-- 1 root root 0 Oct 16 04:21 block_dump
-rw-r--r-- 1 root root 0 Oct 16 04:21 dirty_background_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 dirty_expire_centisecs
-rw-r--r-- 1 root root 0 Oct 16 04:21 dirty_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 dirty_writeback_centisecs
-rw-r--r-- 1 root root 0 Oct 16 04:21 drop_caches
-rw-r--r-- 1 root root 0 Oct 16 04:21 flush_mmap_pages
-rw-r--r-- 1 root root 0 Oct 16 04:21 hugetlb_shm_group
-rw-r--r-- 1 root root 0 Oct 16 04:21 laptop_mode
-rw-r--r-- 1 root root 0 Oct 16 04:21 legacy_va_layout
-rw-r--r-- 1 root root 0 Oct 16 04:21 lowmem_reserve_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 max_map_count
-rw-r--r-- 1 root root 0 Oct 16 04:21 max_writeback_pages
-rw-r--r-- 1 root root 0 Oct 16 04:21 min_free_kbytes
-rw-r--r-- 1 root root 0 Oct 16 04:21 min_slab_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 min_unmapped_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 mmap_min_addr
-rw-r--r-- 1 root root 0 Oct 16 04:21 nr_hugepages
-r--r--r-- 1 root root 0 Oct 16 04:21 nr_pdflush_threads
-rw-r--r-- 1 root root 0 Oct 16 04:21 overcommit_memory
-rw-r--r-- 1 root root 0 Oct 16 04:21 overcommit_ratio
-rw-r--r-- 1 root root 0 Oct 16 04:21 pagecache
-rw-r--r-- 1 root root 0 Oct 16 04:21 page-cluster
-rw-r--r-- 1 root root 0 Oct 16 04:21 panic_on_oom
-rw-r--r-- 1 root root 0 Oct 16 04:21 percpu_pagelist_fraction
-rw-r--r-- 1 root root 0 Oct 16 04:21 swappiness
-rw-r--r-- 1 root root 0 Oct 16 04:21 swap_token_timeout
-rw-r--r-- 1 root root 0 Oct 16 04:21 vfs_cache_pressure
-rw-r--r-- 1 root root 0 Oct 16 04:21 zone_reclaim_mode


Escriba el siguiente comando para ver el tiempo actual de pdflush:

# sysctl vm.dirty_background_ratio

Resultados de la muestra:

sysctl vm.dirty_background_ratio = 10

vm.dirty_background_ratio contains 10, es un porcentaje de memoria total del sistema, el número de páginas en
el que el demonio de pdflush de reescritura de fondo comenzará a
escribir los datos sucios. Sin embargo, para un rápido sistema RAID
basado en un disco que esto puede causar grandes oleadas de páginas de
memoria sucia. Si aumenta este valor de 10 a 20 (un valor grande) dará
lugar a oleadas de menos frecuentes:

# sysctl -w vm.dirty_background_ratio=20

Escriba el comando siguiente para ver el valor predeterminado actual:

# sysctl vm.swappiness

Resultados de la muestra:
vm.swappiness = 60

El valor de 60 define el grado de agresividad páginas de memoria se intercambian en el disco. Si usted no quiere el intercambio, la que más bajo este valor. Sin embargo, si el proceso de sistema se suspende por un tiempo usted se puede beneficiar con un comportamiento agresivo de intercambio mediante el aumento de este valor. Por ejemplo, usted puede cambiar el comportamiento swappiness aumentando o disminuyendo el valor:

# sysctl -w vm.swappiness=100

Escriba el siguiente comando:

# sysctl vm.dirty_ratio

Resultados de la muestra:

vm.dirty_ratio = 40

El valor 40 es un porcentaje de memoria total del sistema, el número de páginas en el que un proceso que está generando el disco se escribe a sí mismo de empezar a escribir los datos sucios. Esto no es sino la relación en la que las páginas sucias creado por aplicación escribe en el disco será expulsado en el disco. Un valor de 40 significa que los datos se escriben en la memoria del sistema hasta que la caché de sistema de archivo tiene un tamaño de 40% de la memoria RAM del servidor. Así que si usted ha 12GB de RAM, los datos se escriben en la memoria del sistema hasta que la caché de sistema de archivo tiene un tamaño de 4.8G. Cambia la relación de sucio como sigue:

# sysctl -w vm.dirty_ratio=25


Fuente: cyberciti.biz






No hay comentarios:

Publicar un comentario