>시스템 튜토리얼 >리눅스 >Linux 메모리 관리 아티팩트: smem 도구

Linux 메모리 관리 아티팩트: smem 도구

王林
王林앞으로
2024-02-12 11:30:041289검색

안녕하세요 여러분.

오늘 저는 Linux 시스템의 매우 실용적인 메모리 관리 도구인 smem를 소개하고 싶습니다.

smem是一款命令行工具,可以生成多种内存使用报告。与其他现有的工具不同,smem은 다양한 메모리 사용량 보고서를 생성할 수 있는 명령줄 도구입니다. 기존의 다른 도구와 달리

에서는 보다 의미 있는 측정 항목인 PSS(Proportional Set Size)를 보고할 수 있습니다. 가상 메모리 시스템의 라이브러리와 애플리케이션이 사용하는 메모리 양을 정확하게 측정합니다.

대부분의 물리적 메모리가 여러 애플리케이션에서 공유되는 경우가 많기 때문에 일반적으로 RSS(상주 세트 크기)를 메모리 사용량 측정 기준으로 사용하면 실제 메모리 소비가 과대평가됩니다. 이와 대조적으로 PSS 매개변수는 각 공유 메모리 영역에서 각 애플리케이션이 할당한 메모리를 측정하므로 보다 현실적이고 정확한 측정항목을 제공합니다.

1.smem 도구를 설치하세요

smem 默认在存储库中,因此你可以使用 yumFedora 19 이상을 사용하는 경우

는 기본적으로 저장소에 있으므로 yum 설치:

으아아아 apt-get 命令来安装 smemUbuntu 사용자의 경우 apt-get 설치 명령

:

으아아아

정상적으로 설치가 되지 않을 경우, https://www.selenic.com/smem/download/

에서 소스코드를 다운로드하여 직접 설치하실 수 있습니다. 2. smem 도구의 일반적인 용도

smem기본적으로

는 실행 중인 각 프로세스와 사용된 메모리를 표시합니다. 여기에서 USS 및 PSS에 비해 RSS의 크기를 확인할 수 있으며, 다른 두 가지보다 훨씬 높다는 것을 알 수 있습니다. Linux 메모리 관리 아티팩트: smem 도구 으아아아

smem또한

각 라이브러리에서 사용하는 메모리를 표시할 수도 있습니다. 이 결과는 비교적 길며 시스템에 따라 다소 시간이 걸릴 수 있습니다.

으아아아 grep 命令使用,同时使用 -p이 명령은 너무 많은 결과를 생성합니다. Firefox와 같은 특정 애플리케이션의 메모리 사용량을 보려면

옵션을 사용하여 메모리 사용량을 백분율 형식으로 볼 수 있습니다. Linux 메모리 관리 아티팩트: smem 도구 으아아아

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

이 명령은 각 사용자의 메모리 사용량도 표시할 수 있습니다. -u 옵션: 🎜
$ smem -u -p
Linux 메모리 관리 아티팩트: smem 도구

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

$ smem -w -p
Linux 메모리 관리 아티팩트: 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 即可。

Linux 메모리 관리 아티팩트: smem 도구Linux 메모리 관리 아티팩트: 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 即可。

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

Linux 메모리 관리 아티팩트: smem 도구

위 내용은 Linux 메모리 관리 아티팩트: smem 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제