web-dev-qa-db-fra.com

Comment afficher meminfo en mégaoctets en haut?

Parfois, il n'est pas confortable de voir meminfo en kilo-octets lorsque vous avez plusieurs Go de RAM. Sous Linux, cela ressemble à:

top, with memory stats all scaled to Kb

Et voici à quoi cela ressemble sous Mac OS X:

top, with memory stats scaled to Mb and Gb

Existe-t-il un moyen d'afficher meminfo sous Linux en téraoctets, gigaoctets et mégaoctets?

205
Anthony Ananich

En haut, en tapant "E" majuscule, vous parcourez différentes unités de mémoire (KiB, MiB, GiB, etc., qui sont différentes de kB, MB et GB) dans les informations de mémoire totale:

The image shows tops general memory display with GiB as a unit.

Alors que "e" en minuscule fait les mêmes lignes de processus individuelles:

The image shows processes in top where the memory is displayed in MiB

Depuis la page de manuel:

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.

Informations sur la version:top -version: procps-ng version 3.3.9
Système: CentOS 7

230
Josh W

Il existe une option de ligne de commande qui fait cela:

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

Il suffit donc de courir dessus comme ça:

top -M

Si -M ne fonctionne pas, vous pouvez appuyer sur E alors que vous êtes déjà en haut.

De man top (procps-ng version 3.3.9):

E: Extend-Memory-Scale dans la zone de résumé Avec cette commande, vous pouvez parcourir la mise à l'échelle de la mémoire de la zone de résumé disponible qui va de KiB (kibioctets ou 1024 octets) à EiB (exbibytes ou 11522121504606846976 octets).

Si vous voyez un "+" entre un nombre affiché et l'étiquette suivante, cela signifie que top a été forcé de tronquer une partie de ce nombre. En augmentant le facteur d'échelle, une telle troncature peut être évitée.

top, showing Memory units in "M"

74
Anthony Ananich

Vous pouvez également utiliser htop. C'est beaucoup plus cool que top.

Si vous utilisez Debian ou l'un de ses dérivés, vous pouvez l'installer en utilisant Sudo apt-get install htop.

htop screenshot

Edit: Voici une capture d'écran avec un meilleur schéma de couleurs:

htop screenshot with better colors

53
rɑːdʒɑ

top -M ne fonctionne à ma connaissance sur aucune des distributions Fedora, Debian ou Ubuntu. Je viens de l'essayer et ce n'est pas dans le procps-ng package qui fournit top. Il existe de nombreuses implémentations de top, il faut donc porter une attention particulière à leur utilisation.

En général, il est préférable d'utiliser free avec commutation pour obtenir la quantité de mémoire libre sous Linux.

procps contre procps-ng

Vous avez peut-être remarqué que sur CentOS 5 & 6 ainsi que RHEL 5 & 6 que top -M semble fonctionner. C'est parce que ces distributions sont livrées avec la version originale de procps. Le projet a été bifurqué et il y a maintenant un autre projet procps-ng.

Quelques détails sur la raison pour laquelle il y a eu fork, à partir de la page du projet Fedora .

extrait

Les anciens outils procps (hérités) n'avaient pas de mises à jour depuis plusieurs années et cela a conduit à une division massive du code causée par une application locale uniquement de correctifs spécifiques à la distribution, qui n'ont pas été fusionnés en amont. Le projet est devenu difficilement maintenable car certains des correctifs nouvellement écrits étaient incompatibles avec des sources gérées par d'autres distributeurs. Une incompatibilité similaire pourrait être observée dans le comportement des applications et leurs commutateurs de ligne de commande. Cette mise à jour inévitable peut être comprise comme un effort d'unification des outils procps dans toutes les distributions Linux.

Donc, pour être clair, le projet fourchu, procps-ng est ce que Debian, Fedora, Ubuntu et d'autres distributions utilisent, le projet hérité, qui prend en charge top -M utilise encore plusieurs des versions à plus long terme qui ne suivent pas les dernières et les meilleures.

REMARQUE: J'ai téléchargé la dernière version de procps-ng, "procps-ng version 3.3.9.1-14ef" et il lui manquait également le -M commutateur.

$ ./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]

gratuit

En exécutant free avec des commutateurs, vous pouvez voir la raison la plus probable pour laquelle la fonction manque d'unités est manquante dans procps-ng implémentation 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

L'arrondi devient problématique, donc je pense que l'implémentation de procps évite le problème en n'offrant pas la possibilité.

htop

Effectue un travail correct pour afficher l'utilisation de la mémoire agrégée.

ss of htop

un haut

À mon avis, un meilleur outil pour regarder la mémoire.

ss of atop

nmon

Un autre outil utile est nmon pour étudier les performances du système.

ss of nmon

35
slm

Vous pouvez appuyer sur les touches suivantes:

  • e - Modifier le facteur d'échelle sur l'affichage récapitulatif
  • Shift+e - Modifier le facteur d'échelle de la tâche
  • Shift+w - Enregistrer les paramètres actuels
25
Gleb Belyaev

Donc, la réponse rapide: selon votre distribution linux, essayez soit:

top -M

OU, après avoir démarré en haut, tapez majuscule E (puis W pour écrire la configuration ).

L'un d'eux devrait fonctionner pour presque tout le monde (sauf Solaris, bien sûr, où vous seriez chanceux d'avoir le dessus).

astuce bonus: chaque fois que vous démarrez une instance supérieure sur une nouvelle installation, tapez ExyzW pour enregistrer les couleurs, les surlignages et les unités - quel soulagement!

7
andrew lorien

Sur RHEL7 top shift + e ou CspsLK ON. Vous avez besoin de l'alphabet majuscule "E".

Vous obtiendrez en MiB, Gib, TiB, PiB, EiB. Tout cela, vous pouvez y accéder.

Et vous pouvez également utiliser la commande htop qui doit être téléchargée et installée sur le système de base rpm.

Je vous remercie. Sagar Dalvi

0
Sagar Dalvi