查看原文
其他

一款基于 Python 语言的 Linux 资源监视器!

JackTian 杰哥的IT之旅 2022-06-07
点击关注上方“杰哥的IT之旅”,
后台回复“Python自动化”获取精心整理的PDF。

大家好,我是 JackTian。

还记得前不久给大家推荐的《一款霸榜 GitHub 的开源 Linux 资源监视器!—— bashtop》吗?它是一个用 Bash 编写的 Linux 资源监视器。

昨天刚好闲逛 GitHub,发现这个作者又开源了一款基于 Python 语言的 Linux / OSX / FreeBSD 资源监视器 —— bpytop,其主要作用跟之前的 bashtop 大同小异,用于显示处理器,内存,磁盘,网络和进程的使用情况和状态。

首先我们先来看看 bpytop 资源监视器主界面。

特征

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

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

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

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

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

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

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

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

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

  • 如有新版本可用,可在菜单选项中进行显示;

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


Bpytop 使用与 bashtop 相同的主题文件,因此为 bashtop 制作的任何主题都可以使用。

可根据自己的需求修改及设置 Main 配色,在自定义设置主题时,重新生成一个名为.theme的主题文件并设置默认变量赋值。

#Bashtop theme with default colors and black background
......
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#00"

# Main text color
theme[main_fg]="#cc"

# Title color for boxes
theme[title]="#ee"

# Higlight color for keyboard shortcuts
theme[hi_fg]="#90"

# Background color of selected item in processes box
theme[selected_bg]="#7e2626" 

# Foreground color of selected item in processes box
theme[selected_fg]="#ee"

# Color of inactive/disabled text
theme[inactive_fg]="#40"

# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#0de756"

# Cpu box outline color
theme[cpu_box]="#3d7b46"

# Memory/disks box outline color
theme[mem_box]="#8a882e"

# Net up/down box outline color
theme[net_box]="#423ba5"

# Processes box outline color
theme[proc_box]="#923535"

# Box divider line and small boxes line color
theme[div_line]="#30"

# Temperature graph colors
theme[temp_start]="#4897d4"
theme[temp_mid]="#5474e8"
theme[temp_end]="#ff40b6"

# CPU graph colors
theme[cpu_start]="#50f095"
theme[cpu_mid]="#f2e266"
theme[cpu_end]="#fa1e1e"

# Mem/Disk free meter
theme[free_start]="#223014"
theme[free_mid]="#b5e685"
theme[free_end]="#dcff85"

# Mem/Disk cached meter
theme[cached_start]="#0b1a29"
theme[cached_mid]="#74e6fc"
theme[cached_end]="#26c5ff"

# Mem/Disk available meter
theme[available_start]="#292107"
theme[available_mid]="#ffd77a"
theme[available_end]="#ffb814"

# Mem/Disk used meter
theme[used_start]="#3b1f1c"
theme[used_mid]="#d9626d"
theme[used_end]="#ff4769"

# Download graph colors
theme[download_start]="#231a63"
theme[download_mid]="#4f43a3"
theme[download_end]="#b0a9de"

# Upload graph colors
theme[upload_start]="#510554"
theme[upload_mid]="#7d4180"
theme[upload_end]="#dcafde"

更多的主题配色,可通过 Bpytop 项目中的 themes 文件夹查看。

安装

依赖项安装 Linux,使用 python3 和 git 安装

安装 psutil python 模块(可能需要sudo)

# python3 -m pip install psutil

依赖项安装 OSX,用于显示 CPU 温度。

# brew install osx-cpu-temp

手动安装 Linux,OSX 和 FreeBSD

# git clone https://github.com/aristocratos/bpytop.git
# cd bpytop
# sudo make install

命令行选项

USAGE: bpytop [argument]

Arguments:
    -m, --mini            Start in minimal mode without memory and net boxes  // 最小模式下启动
    -v, --version         Show version info and exit  // 显示版本信息并退出
    -h, --help            Show this help message and exit  // 显示此帮助信息并退出
    --debug               Start with loglevel set to DEBUG overriding value set in config

由此看来目前 bpytop 还处于开发阶段,接下来,还有很多要去做新功能:


最后贴下该项目 GitHub 地址,大家感兴趣的可前去围观:

https://github.com/aristocratos/bpytop

- End -


本公众号全部博文已整理成一个目录,请在公众号后台回复「m」获取!


推荐阅读:

1、利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?
2、超详细!一文带你了解 LVS 负载均衡集群!
3、如何快速将 Linux 系统制作成 ISO 镜像文件?
4、神器工具:新一代多系统启动 U 盘装机解决方案
5、太赞了!一份适合程序员的精选面试题清单。
6、一款跨平台免费的开源 SQL 编辑器和数据库管理器!

学习资料:

1、超赞!89 页《CDN排坑指南》免费下载!帮你解决文件下载永远停在99%
2、超全96页!《阿里云ECS运维:Linux系统诊断》手册开放免费下载
3、我花了一周的时间,就为了整理这份 97 页的 Python 自动化系列文档。【附获取方式】
4、我精心整理的 136 页 Excel 数据透视表 PDF 文件!【附获取方式】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存