ps_mem:一个用于报告linux核心内存用量的python脚本

ps_mem:一个用于报告linux核心内存用量的python脚本

首页卡牌对战克隆战争 Clone Evolution更新时间:2024-05-01

ps_mem 是一个可以帮助我们精确获取 linux 中各个程序核心内存使用情况的简单 python 脚本。虽然在 Linux 上有很多可用于查看内存使用情况的工具,比如 free、vmstat、smem、top 等,但这个工具和其它的区别在于其精确显示核心内存使用情况。

它会分别计算一个程序私有内存总量和共享内存总量,并以更准确的方式给出了总的内存使用量。很明显的,它将帮助大家知道系统中哪个程序正在占用更多的内存。


通过包管理器安装 ps_mem

基于 RHEL 的系统默认仓库就包含 ps_mem 工具,所以我们可以简单地通过包管理器进行安装。

对于 RHEL/CentOS ,使用 yum 包管理器 安装 ps_mem 包:

$ sudo yum install ps_mem

对于Fedora ,使用 dnf 包管理器 安装 ps_mem 包:

$ sudo dnf install ps_mem

对于 Arch Linux ,使用 pacman 包管理器 安装 ps_mem 包:

$ sudo pacman -S ps_mem


通过 pip 安装 ps_mem

pip 是在 Linux 上推荐使用的一种安装 Python 包的工具。可以使用 pip 命令而不是包管理器去获取最新的版本。使用 pip 包前,请确保你的系统上已安装过 pip 包。否则,先使用发行版本的包管理器安装 python-pip 包。

对于基于 Debian 的系统:

$ sudo apt-get install python-pip

对于基于 RHEL/CentOS 的系统:

$ sudo yum install python-pip

对于 Fedora

$ sudo dnf install python-pip

对于 openSUSE

$ sudo zypper install python-pip

对于基于 Arch Linux 的系统:

$ sudo pacman -S python-pip

最后,在 Linux 上运行 pip 工具安装 ps_mem :

$ sudo pip install ps_mem


直接运行 ps_mem.py 脚本

从开发者 github 页面下载文件,并直接运行 ps_mem.py 脚本。

$ git clone https://github.com/pixelb/ps_mem.git && cd ps_mem $ sudo python ps_mem.py


ps_mem 使用方法

不带任何参数直接运行 ps_mem 以精确获取每个程序的的核心内存使用情况。

$ sudo ps_mem Private Shared = RAM used Program ​ 1.6 MiB 438.5 KiB = 2.1 MiB packagekitd 1.7 MiB 498.0 KiB = 2.1 MiB indicator-application-service 912.0 KiB 1.3 MiB = 2.2 MiB window-stack-bridge 2.0 MiB 350.5 KiB = 2.3 MiB gnome-keyring-daemon 1.8 MiB 575.0 KiB = 2.3 MiB whoopsie 2.4 MiB 304.5 KiB = 2.7 MiB systemd-journald 2.7 MiB 157.5 KiB = 2.8 MiB ibus-engine-simple 2.7 MiB 182.0 KiB = 2.9 MiB ibus-dconf 2.7 MiB 332.5 KiB = 3.0 MiB NetworkManager 3.1 MiB 169.5 KiB = 3.2 MiB polkitd 1.9 MiB 1.7 MiB = 3.6 MiB systemd (2) 3.4 MiB 172.5 KiB = 3.6 MiB deja-dup-monitor 2.9 MiB 685.0 KiB = 3.6 MiB zeitgeist-datahub 2.9 MiB 848.0 KiB = 3.7 MiB python2.7 . . . . . . 222.1 MiB 9.4 MiB = 231.5 MiB compiz 286.2 MiB 11.8 MiB = 298.0 MiB firefox --------------------------------- 1.3 GiB =================================

输出中打印出全路径:

$ sudo ps_mem -s Private Shared = RAM used Program ​ 3.2 MiB 951.0 KiB = 4.1 MiB /usr/lib/evolution/evolution-addressbook-factory 3.7 MiB 826.5 KiB = 4.5 MiB /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 3.7 MiB 853.0 KiB = 4.6 MiB /usr/lib/unity-settings-daemon/unity-fallback-mount-helper . . . . . . 131.9 MiB 168.0 KiB = 132.1 MiB /usr/sbin/mysqld 222.1 MiB 9.4 MiB = 231.5 MiB /usr/bin/compiz 286.2 MiB 11.8 MiB = 298.1 MiB /usr/lib/firefox/firefox --------------------------------- 1.3 GiB =================================

只显示特定的 PID 列表的内存使用情况:

$ sudo ps_mem -p 2886,4386 Private Shared = RAM used Program ​ 13.5 MiB 2.9 MiB = 16.4 MiB gnome-terminal-server 286.2 MiB 11.8 MiB = 298.0 MiB firefox --------------------------------- 314.4 MiB =================================

每 N 秒打印进程内存。以下命令每 2 秒报告一次内存使用情况:

$ sudo ps_mem w 2

只显示内存总量:

$ sudo ps_mem -t 1329884160


觉得有用的多多转发哦~

,
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved