Parfois, il n'est pas confortable de voir meminfo en kilo-octets lorsque vous avez plusieurs Go de RAM. Sous Linux, cela ressemble à:
Et voici à quoi cela ressemble sous Mac OS X:
Existe-t-il un moyen d'afficher meminfo sous Linux en téraoctets, gigaoctets et mégaoctets?
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:
Alors que "e" en minuscule fait les mêmes lignes de processus individuelles:
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
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 -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.
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]
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é.
Effectue un travail correct pour afficher l'utilisation de la mémoire agrégée.
À mon avis, un meilleur outil pour regarder la mémoire.
Un autre outil utile est nmon
pour étudier les performances du système.
Vous pouvez appuyer sur les touches suivantes:
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!
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