안녕하세요 여러분.
오늘 저는 Linux 시스템의 매우 실용적인 메모리 관리 도구인 smem
를 소개하고 싶습니다.
smem
是一款命令行工具,可以生成多种内存使用报告。与其他现有的工具不同,smem
은 다양한 메모리 사용량 보고서를 생성할 수 있는 명령줄 도구입니다. 기존의 다른 도구와 달리
대부분의 물리적 메모리가 여러 애플리케이션에서 공유되는 경우가 많기 때문에 일반적으로 RSS(상주 세트 크기)를 메모리 사용량 측정 기준으로 사용하면 실제 메모리 소비가 과대평가됩니다. 이와 대조적으로 PSS 매개변수는 각 공유 메모리 영역에서 각 애플리케이션이 할당한 메모리를 측정하므로 보다 현실적이고 정확한 측정항목을 제공합니다.
smem
默认在存储库中,因此你可以使用 yum
Fedora 19 이상을 사용하는 경우
yum
설치:
으아아아
apt-get
命令来安装 smem
Ubuntu 사용자의 경우 apt-get
설치 명령
으아아아
정상적으로 설치가 되지 않을 경우, https://www.selenic.com/smem/download/
smem
기본적으로
smem
또한
으아아아
grep
命令使用,同时使用 -p
이 명령은 너무 많은 결과를 생성합니다. Firefox와 같은 특정 애플리케이션의 메모리 사용량을 보려면
smem
命令还可以显示每个用户的内存使用情况,需要使用 -u
-u
옵션: 🎜
$ smem -u -p
你还可以使用 -w
选项查看系统内存使用情况:
$ smem -w -p
显示数字毕竟不直观,我们还可以使用 smem
生成图形图表来显示内存使用情况,一目了然。要达到这个目的,我们需要使用到除了不能生孩子啥都可以干的 Python 。
但光有 Python 还不行,还需要安装用于生成图表的 matplotlib
库。
Fedora 用户可以通过运行以下命令来安装它:
$ sudo yum install python-matplotlib
Ubuntu 用户可以通过运行下面命令获得它:
$ sudo apt-get install python-matplotlib
库安装之后,现在就可以以条形图或饼图的形式将获得的内存使用情况以可视化表示。
使用 smem
以饼图的形式查看内存使用情况,需要加上 --pie
选项,如下所示:
$ smem --pie name -s pss
命令运行之后将生成一个饼图。请注意,这条命令里我们还加了 -s pss
,意思是显示 PSS 的内存使用情况。要获取 USS 和 RSS 的饼图,只需将命令中的 pss 替换为 uss 或 rss 即可。
从两个饼图中,可以看到 RSS 报告还有 41.74% 的未使用内存,而 PSS 报告有 53.02% 的未使用内存。可以看出来,RSS 显示的可用内存偏小,但实际还有很充足的内存空间。
smem
的另一个很酷的特性是以柱状图的形式生成输出。有了这个功能,你可以一次性查看 USS、PSS 和 RSS 报告的内存使用情况。
要实现这个功能,需要加上 --bar
选项:
$ smem --bar pid -c "pss uss rss"
上面的命令将给出带有进程 ID 号的内存使用情况的输出结果。如果想要查看进程的名称,可以将 pid
替换为 name
即可。
命令运行之后,可以生成如下图所示的条柱状图。
위 내용은 Linux 메모리 관리 아티팩트: smem 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!