¿Cómo mostrar meminfo en megabytes en la parte superior?

184

A veces no es cómodo ver meminfo en kilobytes cuando tienes varios gigas de RAM. En Linux, se ve así:

arriba, con estadísticas de memoria escaladas a Kb

Y así es como se ve en Mac OS X:

arriba, con estadísticas de memoria escaladas a Mb y Gb

¿Hay alguna manera de mostrar meminfo en la parte superior de Linux en terabytes, gigabytes y megabytes?

Anthony Ananich
fuente
66
Aparentemente, algunas publicaciones dicen que en Redhat Linux puedes hacer algo top -Mpara mostrar el uso en MB. Si solo desea monitorear el uso de la memoria, puede usar más bien usar htop. No estoy seguro de ninguna otra opción.
Barun
Tienes razón, pero no hay nada de eso en la ayuda integrada. Solo ocasionalmente pude encontrar eso en la página de manual
Anthony Ananich
1
La página del manual es la ayuda integrada.
casey
44
Siempre puedes usar free -m, o mejor en su free -hlugar.
terdon
55
Una vez que salte al hit superior Ehasta que muestre la memoria acumulativa que está buscando, presione Wpara escribir esa configuración en el disco.
Trevor Norris el

Respuestas:

205

Cuando está en la parte superior, la escritura de mayúsculas "E" cambia entre diferentes unidades de memoria (kb, mb, gb, etc.) en la información de memoria total:

La imagen muestra la pantalla de memoria general superior con GiB como unidad.

Mientras que "e" en minúscula hace las mismas líneas de proceso individuales:

La imagen muestra procesos en la parte superior donde se muestra la memoria en MiB

Desde la página del manual:

2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.

Información de versión top -version :: procps-ng version 3.3.9 Sistema: CentOS 7

Josh W
fuente
77
No funciona para mí en RHEL
Anthony Ananich
44
Funciona en ubuntu 14.04 saludos.
tjjjohnson
funciona en fedora 20
sivann
55
@AnthonyAnanich: Funciona para mí en RHEL 7.
krlmlr
3
<máquina del tiempo del futuro> Creo que las unidades predeterminadas de Petabytes son lamentablemente inadecuadas e inútiles. Siempre termino teniendo que golpear E al menos una vez para establecer la cima en unidades de Exabytes. </ Máquina del tiempo del futuro>
Trevor Boyd Smith
69

Hay una opción de línea de comandos que hace eso:

-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.

Por lo tanto, es suficiente correr así:

top -M

Si -Mno funciona, puede presionar Emientras ya está en la parte superior.

De man top(procps-ng versión 3.3.9):

E: Escala de memoria extendida en el área de resumen Con este comando puede recorrer la escala de memoria del área de resumen disponible que va desde KiB (kibibytes o 1,024 bytes) hasta EiB (exbibytes o 1,152,921,504,606,846,976 bytes).

Si ve un '+' entre un número que se muestra y la siguiente etiqueta, significa que la parte superior se vio obligada a truncar alguna parte de ese número. Al aumentar el factor de escala, se puede evitar dicho truncamiento.

arriba, mostrando las unidades de memoria en "M"

Anthony Ananich
fuente
23
+1, pero comprobado en Ubuntu, dice que no funciona. ¿Alguna forma en Ubuntu?
rɑːdʒɑ
No tengo idea, @richardparker
Anthony Ananich
1
Maldita sea, acumulaste una tonelada de karma con un simple (pero bueno) Q&A con respuesta propia. Buen trabajo.
user1717828
44
Ese desenfoque no es lo suficientemente borroso, antonio.
Evgeni Sergeev
2
Funciona para RHEL 6 (presionar 'E' no es el comentario principal)
Molten Ice
48

También puedes usar htop. Es mucho más genial que top.

Si está utilizando Debian o uno de sus derivados, puede instalarlo usando sudo apt-get install htop.

captura de pantalla de htop

Editar: Aquí hay una captura de pantalla con un mejor esquema de color:

Captura de pantalla de htop con mejores colores

rɑːdʒɑ
fuente
17
htopse ve mejor con un fondo blanco o negro. Su esquema de color de captura de pantalla es menos que óptimo.
jlliagre
2
@jlliagre Ojo del espectador.
Jonathan Komar
@ macmadness86 captura de pantalla alternativa agregada
jlliagre
1
para su información, htop viene con otras láminas de color a las que puede acceder yendo a la configuración F2.
Miguel Mota
Corro alias top='htop --no-color'para poder escribir 'top' y obtener un reemplazo razonable para top sin el horrible esquema de colores.
Benjamin
35

top -Mno funciona en ninguna de las distribuciones de Fedora, Debian o Ubuntu, que yo sepa. Acabo de probarlo y no está en el procps-ngpaquete que proporciona top. Hay muchas implementaciones de toplo que uno debe prestar especial atención a lo que utilizan.

En general, es mejor usarlo para freecambiar para obtener la cantidad de memoria libre en Linux.

procps vs. procps-ng

Es posible que haya notado que en CentOS 5 y 6, así como en RHEL 5 y 6, eso top -Mparece funcionar. Esto se debe a que esas distribuciones se envían con la versión original de procps. El proyecto se bifurcó y ahora hay otro proyecto procps-ng.

Algunos de los detalles de por qué había fork, de la página del Proyecto Fedora .

extracto

Las herramientas de procps antiguas (heredadas) no tuvieron actualizaciones durante varios años y eso condujo a una división masiva de código causada por una aplicación solo local de parches específicos de distribución, que no se fusionaron en sentido ascendente. El proyecto se volvió difícilmente mantenible ya que algunos de los parches recién escritos eran incompatibles con las fuentes mantenidas por otros distribuidores. Se puede observar una incompatibilidad similar en el comportamiento de las aplicaciones y sus cambios de línea de comando. Esta actualización inevitable puede entenderse como un esfuerzo por unificar las herramientas de procps en todas las distribuciones de Linux.

Para que quede claro, el proyecto bifurcado procps-nges lo que Debian, Fedora, Ubuntu y otras distribuciones están utilizando, el proyecto heredado, que admite top -Mtodavía está en uso en varias de las versiones a largo plazo que no se mantienen al día con las últimas y más grande

NOTA: descargué la última versión de procps-ng"procps-ng versión 3.3.9.1-14ef" y también me faltaba el -Minterruptor.

$ ./top/top -version
  procps-ng version 3.3.9.1-14ef
Usage:
  lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

gratis

Al ejecutar freecon interruptores, puede ver la razón más probable de por qué falta la característica de falta de unidades en procps-ngla implementación de top.

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7782       6506       1276          0        504       1726
-/+ buffers/cache:       4274       3507
Swap:         7823       1429       6394
[saml@greeneggs ~]$ free -k
             total       used       free     shared    buffers     cached
Mem:       7969492    6663180    1306312          0     516948    1764780
-/+ buffers/cache:    4381452    3588040
Swap:      8011772    1463456    6548316

El redondeo se vuelve problemático, por lo que creo que procpsla implementación evita el problema al no ofrecer la capacidad.

htop

Hace un buen trabajo al mostrar el uso de memoria agregada.

   ss de htop

encima

En mi opinión, una mejor herramienta para mirar la memoria.

   ss de arriba

nmon

Otra herramienta útil es nmonpara observar el rendimiento del sistema.

   ss de nmon

slm
fuente
1
top -Mfunciona para mí en RHEL6
Anthony Ananich
2
@AnthonyAnanich - Investigué esto un poco más. La versión principal de CentOS 5.4 "procps versión 3.2.8" tiene el -Mconmutador, CentOS 5.8, también tiene este conmutador, "procps versión 3.2.7". Sin embargo, Fedora 19 tiene "procps-ng versión 3.3.8" que no admite el -Mcambio.
slm
@AnthonyAnanich: se agregaron detalles a mi respuesta sobre procps vs.procps-ng.
slm
Gran respuesta, gracias, @slm. Incluso no sé cuál de las tres respuestas es la mejor. No premiará a nadie, quiero dejar que otras personas decidan.
Anthony Ananich
@AnthonyAnanich - NP. Debe considerar elegir uno si siente que responde a su Q 100%. Aceptar una A es importante ya que le indica al resto de la comunidad que pasa por su Q que usted, como OP, sintió que esta A respondió o resolvió sus problemas particulares. Si otras A son sobresalientes, también recibirán UV. No aceptar uno, es básicamente una señal de que usted, como OP, todavía siente que su Q no ha sido suficientemente respondida. La A aceptada también se posiciona como la 1ra A cuando las personas ven su Q en el futuro.
slm
23

Puede presionar las siguientes teclas:

  • e - Cambiar el factor de escala en la pantalla de resumen
  • Shift+ e- Cambiar el factor de escala en la tarea
  • Shift+ w- Guardar la configuración actual
Gleb Belyaev
fuente
e y shift-e son al revés en mi sistema al menos ...
fifaltra
3
No sabía sobre Shift+ w, excelente consejo para guardar mi configuración :)
sofly
6

Entonces, la respuesta rápida: dependiendo de su distribución de Linux, intente:

top -M

O, después de comenzar arriba, escriba E mayúscula (luego W para escribir la configuración).

Uno de esos debería funcionar para casi todos (excepto Solaris, por supuesto, donde tendrías suerte de tener la mejor posición).

Consejo adicional: cada vez que inicie una instancia superior en una nueva instalación, escriba ExyzW para guardar colores, resaltado y unidades, ¡qué alivio!

Andrew Lorien
fuente
55
Toda esta información ya ha sido publicada.
Scott
0

En RHEL7 top shift + e o CspsLK ON. Necesita el alfabeto en mayúscula "E".

Entrarás en MiB, Gib, TiB, PiB, EiB. Todo esto puede acceder.

Y también puede usar el comando htop que debe descargarse e instalarse en el sistema base rpm.

Gracias. Sagar Dalvi

Sagar Dalvi
fuente