Rumah  >  Artikel  >  Tutorial sistem  >  Artifak pengurusan memori Linux: alat smem

Artifak pengurusan memori Linux: alat smem

王林
王林ke hadapan
2024-02-12 11:30:041105semak imbas

Hello semua, saya.

Hari ini saya ingin memperkenalkan kepada anda alat pengurusan memori yang sangat praktikal dalam sistem Linux: smem.

smem是一款命令行工具,可以生成多种内存使用报告。与其他现有的工具不同,smem ialah alat baris arahan yang boleh menjana pelbagai laporan penggunaan memori. Tidak seperti alat sedia ada yang lain,

boleh melaporkan PSS (Saiz Set Berkadar), yang merupakan metrik yang lebih bermakna. Ia mengukur dengan tepat jumlah memori yang digunakan oleh perpustakaan dan aplikasi dalam sistem ingatan maya.

Secara tradisinya, menggunakan saiz set pemastautin (RSS) sebagai ukuran penggunaan memori melebihkan penggunaan memori sebenar kerana kebanyakan memori fizikal sering dikongsi di antara berbilang aplikasi. Sebaliknya, parameter PSS mengukur memori yang diperuntukkan oleh setiap aplikasi dalam setiap kawasan memori yang dikongsi, yang menyediakan metrik yang lebih realistik dan tepat.

1. Pasang alat smem

smem 默认在存储库中,因此你可以使用 yumJika anda menggunakan Fedora 19 ke atas,

berada dalam repositori secara lalai, jadi anda boleh menggunakan yum untuk memasangnya:

$ sudo yum install smem
apt-get 命令来安装 smemUntuk pengguna Ubuntu, anda boleh menggunakan apt-get arahan untuk dipasang

:

$ sudo apt-get install smem

Jika ia tidak boleh dipasang seperti biasa, anda boleh memuat turun kod sumbernya dan memasangnya terus di alamat: https://www.selenic.com/smem/download/

2. Kegunaan biasa alat smem

smemSecara lalai,

akan memaparkan setiap proses berjalan dan memori yang digunakan. Di sini, anda boleh perhatikan saiz RSS berbanding USS dan PSS, dan anda boleh melihat bahawa ia jauh lebih tinggi daripada dua yang lain. Artifak pengurusan memori Linux: alat smem
$ smem

smemSelain itu,

juga boleh memaparkan memori yang digunakan oleh setiap perpustakaan. Keputusan ini agak panjang dan mungkin mengambil sedikit masa, bergantung pada sistem anda.

$ smem -m
grep 命令使用,同时使用 -pArahan ini menghasilkan terlalu banyak hasil Jika kita ingin melihat penggunaan memori aplikasi tertentu, seperti Firefox, maka kita boleh menggunakan pilihan

untuk melihat penggunaan memori dalam bentuk peratusan. Artifak pengurusan memori Linux: alat smem
$ smem -m -p | grep firefox

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

Perintah ini juga boleh memaparkan penggunaan memori setiap pengguna Anda perlu menggunakan -u Pilihan: 🎜
$ smem -u -p
Artifak pengurusan memori Linux: alat smem

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

$ smem -w -p
Artifak pengurusan memori Linux: alat smem

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 即可。

Artifak pengurusan memori Linux: alat smemArtifak pengurusan memori Linux: alat smem

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

3.2 柱状图

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

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

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

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

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

Artifak pengurusan memori Linux: alat smem

Atas ialah kandungan terperinci Artifak pengurusan memori Linux: alat smem. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam