Pregunta

Si voy a WHM y ver el uso de memoria de mi servidor, se dice que sólo el 16% de la memoria está en uso. Pero cuando conecto al servidor a través de SSH y orden de marcha "-m libre" entonces se muestra que el 80% está en uso. ¿Porqué es eso? Quiero saber el uso de memoria exacta de todas las aplicaciones que se ejecutan como MySQL, Apache e.t.c. ¿Cómo puedo ver eso?

Gracias

¿Fue útil?

Solución

Como se suele decir, "No es tan fácil".

Linux utiliza memoria no utilizada para el almacenamiento temporal en disco y almacenamiento en caché. Se acelera las cosas. Sin embargo, es posible que tenga que mirar el -. / + Buffers / cache línea de libre

'ps' puede mostrar, por cualquier procedimiento dado, o para todos los procesos, el % de la CPU , % mem , acumulativo cpu-time , Fuente (tamaño del conjunto residente , la memoria física no intercambiado que un proceso está utilizando), tamaño ( muy cantidad aproximada de espacio de intercambio que sería necesario si el proceso de eran ensuciar todas las páginas de escritura y luego pueden intercambiar), VSIZE (el uso de memoria virtual de todo el proceso (vm_lib + vm_exe + vm_data + vm_stack)), y mucho más .

Para cualquier proceso dado, puede cat / proc / PID $ / estado - que es legible por humanos - y echa un vistazo a la VmSize , VmLck , VmRSS , VmData , VmStk , VmExe , VmLib y VmPTE valores, junto con los demás ...

Pero eso es sólo el comienzo ... Los procesos pueden asignar memoria y no usarlo. (La memoria puede ser asignado, pero las páginas de memoria no se crean / emitirán hasta que se utilizan realmente. Todo eso bajo demanda.)

Los procesos pueden asignar en el espacio de hardware, apareciendo como el uso de una gran cantidad de memoria que no es en realidad procedente de la RAM del sistema. (Servidores X se conocen a veces hacer esto. Es algunos controladores del núcleo involucradas cosas torcidas ...)

No es el ejecutable, que suele ser un archivo asignado en memoria. Lo que significa que las partes que se intercambian en la memoria RAM están tomando, pero cuando intercambiado nunca ocupa espacio archivo de intercambio.

Los procesos pueden tener otros archivos mapeados en memoria ...

Hay bibliotecas de memoria compartida, donde las mismas páginas de memoria RAM son utilizados por varios programas al mismo tiempo.

Así que tenemos que pedir, en lo que va de memoria, qué es exactamente lo que cuenta y lo que no?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top