![](https://img.shields.io/github/v/release/xxxserxxx/gotop?display_name=tag&sort=semver)


一个基于终端的图形活动监视器, 基于[xmtop](https://github.com/xxxserxxx/gotop) 使用Go语言编写 看看 [更新日志](/更新日志.md) 最新版本都带来那些变化 ## 安装 目前xmtop主要适配 龙架构 和 x86架构 的linux系统 如果您手动安装xmtop,或者您下载或创建新的布局或配色方案,则需要将布局文件放在xmtop可以找到的地方。要查看xmtop查找文件的目录列表,请运行`xmtop -h`。第一个目录始终是运行xmtop的目录。 - **二进制安装**: ``` wget ``` ### 控制台(Console)用 xmtop需要一些特殊符合和Unicode代码点的字体;一些发行版不提供此功能。在xmtop存储库中有一种字体,使用此字体可能会改善xmtop在终端中的呈现方式。使用方法如下: ```shell curl -O -L https://raw.githubusercontent.com/xxxserxxx/gotop/master/fonts/Lat15-VGA16-braille.psf setfont Lat15-VGA16-braille.psf ``` ### 编译 xmtop需要使用go1.21或以后的版本编译 ```shell git clone ssh://git@gitea.whlug.cn:33262/LK/xmtop.git && cd xmtop # This ugly SOB gets a usable version from the git tag list # 这个丑陋的SOB从git标签列表中获取可用版本 VERS="$(git tag -l --sort=-v:refname | sed 's/v\([^-].*\)/\1/g' | head -1 | tr -d '-' ).$(git describe --long --tags | sed 's/\([^-].*\)-\([0-9]*\)-\(g.*\)/r\2.\3/g' | tr -d '-')" DAT=$(date +%Y%m%dT%H%M%S) go build -o gotop \ -ldflags "-X main.Version=v${VERS} -X main.BuildDate=${DAT}" \ ./cmd/gotop ``` 如果您想在Linux上尽可能压缩可执行文件,请将`ldflags`行更改为: ``` -ldflags "-X main.Version=v${VERS} -X main.BuildDate=${DAT} -extldflags '-s -w'" \ ``` 编译完成后将`xmtop`可执行文件移动到$PATH中的某个位置。 如果Go没有安装或者是错误的版本,并且您没有root访问权限或不想升级Go,则会提供一个脚本来下载Go和gotops源,编译gotops,然后进行清理。请参见`scripts/install_without_root.sh`。 ## 使用 运行`-h`可以获取帮助菜单。其中许多功能都可以通过创建配置文件来配置; 有关更多信息,请参见下一节。键绑定可以在xmtop运行时通过按`?`键,或者可以使用`——list keys`命令打印出来。 除了键绑定之外,还可以使用鼠标来控制进程列表: - 点击选择流程 - 鼠标滚轮滚动浏览进程 有关其他主题的更多信息,请参阅 - [Layouts](./docs/layouts.md) - [Configuration](./docs/configuration.md) - [Color schemes](./docs/colorschemes.md) - [Device filtering](./docs/devices.md) - [Extensions](./docs/extensions.md) ## 监控远程机器 -------------------------- gotops可以监视在远程计算机上运行的gotops,并在单个实例中显示 (某些) 指标。Gottop希望在代理后面,或者在安全的内部网内。文档中提供了一个 [远程监控实例](./docs/remote-monitoring.md) 设置 ## 截图 #### '-l kitchensink' + colorscheme #### "-l battery" #### "-l minimal" #### Custom (layouts/procs) ## Built With - [gizak/termui](https://github.com/gizak/termui) - [nsf/termbox](https://github.com/nsf/termbox-go) - [exrook/drawille-go](https://github.com/exrook/drawille-go) - [shirou/gopsutil](https://github.com/shirou/gopsutil) - [goreleaser/nfpm](https://github.com/goreleaser/nfpm) - [distatus/battery](https://github.com/distatus/battery) - [VictoriaMetrics/metrics](https://github.com/VictoriaMetrics/metrics) 看看这个!该API干净、优雅,引入的间接依赖比Prometheus客户端少得多,并且将二进制文件的大小减少了50%。 - [lingo](https://github.com/xxxserxxx/lingo) 基于 [jdkeke142's](https://github.com/jdkeke142/lingo-toml) 派生于 [kortemy's](https://github.com/kortemy/lingo) 的lingo. ## 项目历史 gotop的最初作者在Rust中启动了一个名为[ytop](https://github.com/cjbassi/ytop)的新工具,并弃用了他的Go版本。这个项目是基于[gotop项目的xxxserxxx分支](https://github.com/xxxserxxx/gotop)制作的。主要目的是用来优化龙架构的使用体验和添加更丰富的功能。