Cuando registro free
en uno de los servidores Prod, muestra que se está utilizando el 70% de la memoria:
total used free shared buffers cached
Mem: 164923172 141171860 23751312 0 4555616 20648048
-/+ buffers/cache: 115968196 48954976
Swap: 8388600 0 8388600
Pero no encontré qué proceso está usando la memoria, probé el top
comando y muestra el proceso usando solo la memoria 1.1 y 5.4%
¿Cómo puedo encontrar qué proceso está usando la memoria?
A continuación se muestran los resultados del comando superior:
15085 couchbas 25 0 2784m 2.4g 40m S 183.7 1.5 299597:00 beam.smp
28248 tibco 18 0 124m 100m 3440 S 20.9 0.1 2721:45 tibemsd
15334 couchbas 15 0 9114m 8.6g 3288 S 9.0 5.4 12996:28 memcached
15335 couchbas 18 0 6024 600 468 S 2.0 0.0 1704:54 sigar_port
15319 couchbas 15 0 775m 2516 944 S 0.7 0.0 269:13.41 i386-linux-godu
12167 tibco 16 0 11284 1464 784 R 0.3 0.0 0:00.04 top
12701 root 15 0 451m 427m 2140 S 0.3 0.3 18:25.02 controller
13163 root 11 -5 0 0 0 S 0.3 0.0 289:58.58 vxglm_thread
Respuestas:
Esto le mostrará los 10 mejores procesos que utilizan la mayor cantidad de memoria:
m
Uso de la parte superior: cuando abrió la parte superior, presione el proceso corto en función del uso de la memoria.Pero esto no resolverá su problema, en Linux todo es archivo o proceso. así que los archivos que abriste también se comerán la memoria. entonces esto no ayudará.
lsof
le dará todos los archivos abiertos con el tamaño del archivo o el desplazamiento del archivo en bytes.fuente
head
lugar de este script awk: proporciona el mismo resultado y se ahorra escribiendo muchos caracteres extraños.Tu carnero no se usa realmente. Linux simplemente almacena en caché las cosas en su disco de forma predeterminada, y coloca lo que almacena en caché en la sección "usada" de ram.
Si carga aplicaciones que realmente usan esa RAM, serán su uso.
Ver http://www.linuxatemyram.com/
fuente
Puede canalizar ps y ordenar para obtener el proceso utilizando la mayor cantidad de memoria. También le permitirá especificar otros detalles del proceso que desea ver con él:
PD: lo anterior supone que su columna de memoria es primero " sort -k 1 -n -r "
fuente
Puede usar el comando slabtop para ver qué objetos de losa son utilizados por el núcleo.
También puede verificar la salida de / proc / meminfo
Busque estas 2 líneas en la salida
El ejemplo anterior muestra 68 MB de caché de losa que usa el núcleo y se pueden recuperar 21 MB. Para reclamar puede usar la técnica descrita aquí https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-memory-tunables
fuente
Para un análisis interactivo, puede usar
htop
, luego pulsar la tecla de funciónF6
para elegir el orden de clasificación, por ejemploPERCENT_CPU
(uso de memoria en porcentajes),M_RESIDENT
(tamaño de memoria residente, la memoria real que se usa),M_SIZE
(tamaño de memoria virtual) oM_SHARE
(tamaño de memoria compartida). Los dos primeros son los números relevantes .Las líneas verdes son hilos. Golpear (mayúscula)
K
yH
ocultarlos.fuente