2
头图

对于系统运维、维护或开发人员来说,能很好、清楚的了解系统各方面资源的使用情况,这也是一个IT人员必备的技能之一。

对于Linux系统来说,我们在日常可以借助一些系统自带的命令工具,如:top、htop、iotopiostatifstatvmstat等等,有时候我也可以借助一些第三方的工具:「 系统之眼!Linux系统性能监控工具Glances 」来查看系统资源的利用情况。

有一个好用的工具也是提高我们工作效率的一种手段。今天,民工哥就给大家介绍一款好用的、并且在 UI 设计上十分美观的终端资源监视器 ——Bpytop,Bpytop 是 bashtop 的 python 版本。

图片

功能特点介绍

  • 易于使用,带有受游戏启发的菜单系统。

  • 完全支持鼠标,所有带有突出显示键的按钮都可单击,并且鼠标滚动可在进程列表和菜单框中使用。

  • 快速,反应灵敏的UI,带有UP,DOWN键可进行过程选择。

  • 用于显示所选进程的详细统计信息的功能。

  • 具有过滤过程的能力,可以输入多个过滤器。

  • 在排序选项之间轻松切换。

  • 将SIGTERM,SIGKILL,SIGINT发送到选定的进程。

  • 用于更改所有配置文件选项的UI菜单。

  • 网络使用情况的自动缩放图。

  • 如果有新版本可用,则在菜单中显示消息

  • 显示磁盘的当前读写速度

所需环境及安装

1、安装环境

  • Python3(v3.7或更高版本)

  • psutil模块(v5.7.0或更高版本)

[root@centos7 ~]# /usr/bin/python3 -m pip install psutilWARNING: Running pip install with root privileges is generally not a good idea. Try `__main__.py install --user` instead.Collecting psutil  Using cached https://files.pythonhosted.org/packages/e1/b0/7276de53321c12981717490516b7e612364f2cb372ee8901bd4a66a000d7/psutil-5.8.0.tar.gzInstalling collected packages: psutil  Running setup.py install for psutil ... doneSuccessfully installed psutil-5.8.0

如果在安装上面的模块出现如下提示

 psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory     #include <Python.h>                        ^    compilation terminated.    error: command 'gcc' failed with exit status 1        ----------------------------------------Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-5ffj6s3k/psutil/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-qbw2w01r-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-5ffj6s3k/psutil/

解决方法如下

[root@centos7 ~]# yum install python-devel python3-devel -y

2、安装bpytop

从 Github 克隆整个仓库

[root@centos7 ~]# git clone https://github.com/aristocratos/bpytop.gitCloning into 'bpytop'...remote: Enumerating objects: 191, done.remote: Counting objects: 100% (191/191), done.remote: Compressing objects: 100% (105/105), done.remote: Total 1348 (delta 119), reused 157 (delta 86), pack-reused 1157Receiving objects: 100% (1348/1348), 1002.09 KiB | 349.00 KiB/s, done.Resolving deltas: 100% (852/852), done.

编译安装

[root@centos7 ~]# cd bpytop/[root@centos7 bpytop]# make install

命令行选项

usage: bpytop.py [-h] [-b BOXES] [-lc] [-v] [--debug]optional arguments:  -h, --help            show this help message and exit  -b BOXES, --boxes BOXES  which boxes to show at start, example: -b "cpu mem net proc"  -lc, --low-color      disable truecolor, converts 24-bit colors to 256-color  -v, --version         show version info and exit  --debug               start with loglevel set to DEBUG overriding value set in config

界面与使用

主界面

图片

图片

图片

按ESC 选择HELP

图片

快捷键介绍
o               #进入选项页面
m               #切换mini模式和一般模式
h               #查看帮助文档    
q , ctrl+c      #退出程序
ESC , shift+m   #进入主菜单
+ / -           #快速修改页面刷新时间间隔
n               #切换网卡
f               #过滤进程名称
e               #进程树状展示            

图片

迷你界面

图片

树状显示

图片

参考资料:https://github.com/aristocrat... 项目介绍

民工哥
26.4k 声望56.7k 粉丝

10多年IT职场老司机的经验分享,坚持自学一路从技术小白成长为互联网企业信息技术部门的负责人。2019/2020/2021年度 思否Top Writer