Question

Si je vais à WHM et voir l'utilisation de la mémoire de mon serveur, il est dit que seulement 16% de la mémoire est en cours d'utilisation. Mais lorsque je me connecte au serveur en utilisant SSH et commande run « free -m », puis il montre que 80% est en cours d'utilisation. Pourquoi donc? Je veux savoir l'utilisation de la mémoire exacte de toutes les applications en cours d'exécution comme MySQL, Apache E.T.C. Comment puis-je cela?

Merci

Était-ce utile?

La solution

Comme on dit: "Il est compliqué".

Linux utilise la mémoire inutilisée pour mise en mémoire tampon du disque et la mise en cache. Il accélère les choses. Mais vous devrez peut-être regarder le -. / + Tampons / cache ligne de libre

ps peut vous montrer, pour un processus donné, ou pour tous les processus, % cpu , % mem , cumulatif temps cpu , rss (taille de l'ensemble résident , la mémoire physique non permutés qu'un processus utilise), taille ( très quantité approximative d'espace d'échange qui serait nécessaire si le processus devaient salir toutes les pages inscriptibles et être permutées), vsize (utilisation de la mémoire virtuelle de processus entier (vm_lib + vm_exe + vm_data + vm_stack)), et beaucoup plus .

Pour tout processus donné, vous pouvez cat / proc / $ PID / état - il est lisible par l'homme - et de vérifier les VmSize , VmLck , VmRSS , VmData , VmStk , VmExe , VmLib et VmPTE valeurs, ainsi que d'autres ...

Mais qui est juste pour commencer ... Les processus peuvent allouer de la mémoire mais pas l'utiliser. (La mémoire peut être alloué, mais les pages de mémoire ne sont pas créés / émis jusqu'à ce qu'ils soient effectivement utilisés. Ce tout sur demande rien.)

Les processus peuvent carte dans l'espace matériel, montrant que l'utilisation d'une grande quantité de mémoire qui n'est pas en réalité à venir de la RAM du système. (Serveurs X sont connus pour faire parfois cela. Il est bancal des trucs impliqués pilotes du noyau ...)

Il est l'exécutable, ce qui est généralement un fichier mappé en mémoire. Ce qui signifie que les pièces qui sont permutées en prennent RAM, mais quand permutée il ne prend swapfile l'espace.

Les processus peuvent avoir d'autres fichiers mappés en mémoire ...

Il y a des bibliothèques de mémoire partagée, où les mêmes pages de RAM sont utilisés par plusieurs programmes en même temps.

Nous devons donc demander, dans la mesure où la mémoire va, ce exactement compte et ce qui ne fonctionne pas?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top