Maison  >  Article  >  Tutoriel système  >  Artefact de gestion de la mémoire Linux : outil sme

Artefact de gestion de la mémoire Linux : outil sme

王林
王林avant
2024-02-12 11:30:041103parcourir

Bonjour à tous, je le suis.

Aujourd'hui, je souhaite vous présenter un outil de gestion de mémoire très pratique dans les systèmes Linux : smem.

smem是一款命令行工具,可以生成多种内存使用报告。与其他现有的工具不同,smem est un outil de ligne de commande qui peut générer une variété de rapports sur l'utilisation de la mémoire. Contrairement à d'autres outils existants,

peut signaler le PSS (Proportional Set Size), qui est une mesure plus significative. Il mesure avec précision la quantité de mémoire utilisée par les bibliothèques et les applications dans un système de mémoire virtuelle.

Traditionnellement, l'utilisation de la taille de l'ensemble résident (RSS) comme mesure de l'utilisation de la mémoire surestime la consommation réelle de mémoire, car la majeure partie de la mémoire physique est souvent partagée entre plusieurs applications. En revanche, le paramètre PSS mesure la mémoire allouée par chaque application dans chaque région de mémoire partagée, ce qui fournit une métrique plus réaliste et plus précise.

1. Installer l'outil sme

smem 默认在存储库中,因此你可以使用 yumSi vous utilisez Fedora 19 ou supérieur,

est dans le référentiel par défaut, vous pouvez donc utiliser miam pour l'installer :

$ sudo yum install smem
apt-get 命令来安装 smemPour les utilisateurs d'Ubuntu, vous pouvez utiliser apt-get commande à installer

:

$ sudo apt-get install smem

S'il ne peut pas être installé normalement, vous pouvez télécharger son code source et l'installer directement à l'adresse : https://www.selenic.com/smem/download/

2. Utilisation courante de l'outil sme

smemPar défaut,

affichera chaque processus en cours et la mémoire utilisée. Ici, vous pouvez noter la taille du RSS par rapport à l'USS et au PSS, et vous pouvez voir qu'elle est nettement supérieure aux deux autres. Artefact de gestion de la mémoire Linux : outil sme
$ smem

smemDe plus,

peut également afficher la mémoire utilisée par chaque bibliothèque. Ce résultat est relativement long et peut prendre un certain temps, selon votre système.

$ smem -m
grep 命令使用,同时使用 -pCette commande produit trop de résultats. Si nous voulons voir l'utilisation de la mémoire d'une application spécifique, telle que Firefox, nous pouvons utiliser l'option

pour afficher l'utilisation de la mémoire sous forme de pourcentage. Artefact de gestion de la mémoire Linux : outil sme
$ smem -m -p | grep firefox

smem 命令还可以显示每个用户的内存使用情况,需要使用 -u

La commande peut également afficher l'utilisation de la mémoire de chaque utilisateur. Vous devez utiliser -u Options : 🎜
$ smem -u -p
Artefact de gestion de la mémoire Linux : outil sme

你还可以使用 -w 选项查看系统内存使用情况:

$ smem -w -p
Artefact de gestion de la mémoire Linux : outil sme

3. 结果可视化输出

显示数字毕竟不直观,我们还可以使用 smem 生成图形图表来显示内存使用情况,一目了然。要达到这个目的,我们需要使用到除了不能生孩子啥都可以干的 Python 。

但光有 Python 还不行,还需要安装用于生成图表的 matplotlib 库。

Fedora 用户可以通过运行以下命令来安装它:

$ sudo yum install python-matplotlib

Ubuntu 用户可以通过运行下面命令获得它:

$ sudo apt-get install python-matplotlib

库安装之后,现在就可以以条形图或饼图的形式将获得的内存使用情况以可视化表示。

3.1 饼形图

使用 smem 以饼图的形式查看内存使用情况,需要加上 --pie 选项,如下所示:

$ smem --pie name -s pss

命令运行之后将生成一个饼图。请注意,这条命令里我们还加了 -s pss ,意思是显示 PSS 的内存使用情况。要获取 USS 和 RSS 的饼图,只需将命令中的 pss 替换为 uss 或 rss 即可。

Artefact de gestion de la mémoire Linux : outil smeArtefact de gestion de la mémoire Linux : outil sme

从两个饼图中,可以看到 RSS 报告还有 41.74% 的未使用内存,而 PSS 报告有 53.02% 的未使用内存。可以看出来,RSS 显示的可用内存偏小,但实际还有很充足的内存空间。

3.2 柱状图

smem 的另一个很酷的特性是以柱状图的形式生成输出。有了这个功能,你可以一次性查看 USS、PSS 和 RSS 报告的内存使用情况。

要实现这个功能,需要加上 --bar 选项:

$ smem --bar pid -c "pss uss rss"

上面的命令将给出带有进程 ID 号的内存使用情况的输出结果。如果想要查看进程的名称,可以将 pid 替换为 name 即可。

命令运行之后,可以生成如下图所示的条柱状图。

Artefact de gestion de la mémoire Linux : outil sme

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer