[LINUX] L'histoire de la mauvaise lecture de la ligne d'échange de la commande supérieure

Contexte

Je vérifie parfois l'utilisation de la mémoire de VPS avec la commande supérieure, etc. (Ci-dessous provient d'Ubuntu 18.04 LTS)

top - 13:40:39 up  1:44,  0 users,  load average: 0.52, 0.58, 0.59
Tasks:   5 total,   1 running,   3 sleeping,   1 stopped,   0 zombie
%Cpu(s):  3.6 us,  5.6 sy,  0.0 ni, 88.6 id,  0.0 wa,  2.2 hi,  0.0 si,  0.0 st
KiB Mem :  8290600 total,  2456796 free,  5604452 used,   229352 buff/cache
KiB Swap: 25165824 total, 25094400 free,    71424 used.  2552416 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0    8304    136    108 S   0.0  0.0   0:00.10 init
    4 kitakou   20   0   17620   2020   1492 T   0.0  0.0   0:04.10 top
    5 root      20   0    8308    100     60 S   0.0  0.0   0:00.00 init
    6 kitakou   20   0   16788   3396   3312 S   0.0  0.0   0:00.09 bash
   10 kitakou   20   0   17620   2032   1500 R   0.0  0.0   0:00.03 top

Je vérifie principalement la mémoire réelle et la zone swao sur les 4e et 5e lignes, mais la valeur la plus à droite de la ligne liée au swap, qui est affichée comme mise en cache ou disponible Mem en fonction de l'environnement. ici ** "Qu'est-ce que le cache dans la zone d'échange ...? Pourquoi change-t-il pour bénéficier de Mem ...?" ** La question s'est posée. Étant donné que la zone de cache est libérée en fonction de la demande d'autres applications, s'il existe également une certaine quantité de zone de cache dans la zone de swap, le manque de stockage principal peut être compensé, donc ** ce n'est pas un état préférable, mais ** cela fonctionne pour le moment. (Parce que la vitesse de traitement a chuté lors du passage à la zone de swap en premier lieu)

Cependant, cette fois, la question "Pourquoi la zone de cache est-elle pour accélérer dans la zone de swap lent ...?" ** apparaît. Même si j'ai regardé plusieurs articles, cela a été décrit comme "zone d'échange en cache" etc. et c'est devenu Rin Nyapi ..., mais comme il a finalement été résolu, je voudrais résumer les résultats de diverses enquêtes.

résultat

** Ce n'était pas une valeur sur la zone d'échange en premier lieu ** Les valeurs en mémoire de la commande top sont divisées comme indiqué dans la figure ci-dessous. image.png La partie bleue est la valeur de la mémoire physique et la partie jaune est la valeur liée à la mémoire virtuelle (c'est-à-dire la zone de swap). Si vous vérifiez avec la commande man top,

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

       As a default, Line 1 reflects physical memory, classified as:
           total, free, used and buff/cache

       Line 2 reflects mostly virtual memory, classified as:
           total, free, used and avail (which is physical memory)

       The avail number on line 2 is an estimation of physical memory available for starting new applications,  with‐
       out  swapping.   Unlike  the  free field, it attempts to account for readily reclaimable page cache and memory
       slabs.  It is available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free.

Il est certainement complété par (qui est la mémoire physique). Mais c'est difficile à comprendre! !! !! !! !! !! !! !! !! !! Si c'est écrit sur la ligne d'échange, vous penseriez qu'il s'agit de la zone swao! !! !! !! !!

Sites pris en charge

https://piro.sakura.ne.jp/latest/blosxom/topics/2018-11-13_top-cached.htm Cela correspondait vraiment au cas à la fin du site ci-dessus ... Je tiens à garder à l'esprit que je peux consulter plusieurs articles et ne pas avoir peur de l'anglais ...

Recommended Posts

L'histoire de la mauvaise lecture de la ligne d'échange de la commande supérieure
L'histoire de sys.path.append ()
L'histoire de l'arrêt du service de production avec la commande hostname
L'histoire de la construction de Zabbix 4.4
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
L'histoire de Python et l'histoire de NaN
L'histoire de la participation à AtCoder
L'histoire du "trou" dans le fichier
Frappez la commande supérieure avec htop
L'histoire du remontage du serveur d'application
L'histoire de l'exportation d'un programme
Continuez à recevoir RSS sur la ligne de commande
L'histoire d'essayer de reconnecter le client
L'histoire de la création d'un robot LINE pour le petit-déjeuner d'une université de 100 yens avec Python
L'histoire de la mise en place de MeCab dans Ubuntu 16.04
L'histoire de la fabrication d'un moule immuable
L'histoire de la manipulation des variables globales Python
Version Migemo de la commande: find ,: mfind
L'histoire d'essayer deep3d et de perdre
commande supérieure
Décodage du modèle LSTM de Keras.
L'histoire du traitement A du blackjack (python)
L'histoire du changement de pep8 en pycodestyle
Vous recherchez commandlinefu sur la ligne de commande
Notez l'achèvement d'une commande chronophage
Introduction de l'environnement d'interface de ligne de commande SoftLayer
Obtenez uniquement le code source du package PyPI avec pip à partir de la ligne de commande
L'histoire de la création d'un Line Bot qui nous raconte le calendrier de la programmation du concours
L'histoire de l'apprentissage profond avec TPU
Résumé des outils utilisés dans la ligne de commande vol.8
Développement Arduino en ligne de commande: vim + platformio
Traitement d'image? L'histoire du démarrage de Python pour
Résumé des outils utilisés dans la ligne de commande vol.5
L'histoire de la recherche du n optimal dans N poing
Mise en évidence de la syntaxe sur la ligne de commande à l'aide de Pygments
Linux: comprendre les informations affichées par la commande top
L'histoire de la lecture des données HSPICE en Python
L'histoire d'essayer Sourcetrail × macOS × VS Code
L'histoire de l'affichage des fichiers multimédias dans Django
Convertir XLSX en CSV sur la ligne de commande
L'histoire de la création d'un générateur d'icônes mel
Exécutez Route53 sur la ligne de commande à l'aide de l'AWS-CLI.
[Petite histoire] Téléchargez l'image de Ghibli immédiatement
Histoire de passer de Pipenv à la poésie
Pensez aux interfaces sélectives sur la ligne de commande
Voir ici pour la quantité de mémoire libre de la commande free
Comment créer un article à partir de la ligne de commande
L'histoire du lancement d'un serveur Minecraft depuis Discord
Une histoire qui réduit l'effort de fonctionnement / maintenance
Afficher progressivement la sortie de la commande exécutée par le sous-processus.
L'histoire de Python sans opérateurs d'incrémentation et de décrémentation.
L'histoire de la création de l'environnement Linux le plus rapide au monde
L'histoire de l'inadéquation de Hash Sum causée par gcrypto20
Supprimons maintenant l'ambiguïté du trait d'union (-) de la commande su! !!
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Python - Explication et résumé de l'utilisation des 24 meilleurs packages