xmtop/README.md

119 lines
4.5 KiB
Markdown
Raw Normal View History

2018-04-12 01:51:51 +08:00
<div align="center">
<img src="./assets/logo/logo.png" width="20%" />
2022-09-30 02:26:17 +08:00
![](https://img.shields.io/github/v/release/xxxserxxx/gotop?display_name=tag&sort=semver)
2022-09-30 02:26:17 +08:00
</div>
2018-04-16 07:28:47 +08:00
<br><br>
2024-07-17 15:33:14 +08:00
一个基于终端的图形活动监视器, 基于[xmtop](https://github.com/xxxserxxx/gotop) 使用Go语言编写
2018-02-19 15:25:02 +08:00
2024-07-17 15:33:14 +08:00
看看 [更新日志](/更新日志.md) 最新版本都带来那些变化
2020-02-23 22:13:43 +08:00
<img src="./assets/screenshots/demo.gif" />
2018-03-05 13:19:31 +08:00
2018-04-16 07:28:47 +08:00
</div>
2024-07-17 15:33:14 +08:00
## 安装
2018-02-19 15:25:02 +08:00
2024-07-17 15:33:14 +08:00
目前xmtop主要适配 龙架构 和 x86架构 的linux系统
2019-01-17 13:00:38 +08:00
2024-07-17 15:33:14 +08:00
如果您手动安装xmtop或者您下载或创建新的布局或配色方案则需要将布局文件放在xmtop可以找到的地方。要查看xmtop查找文件的目录列表请运行`xmtop -h`。第一个目录始终是运行xmtop的目录。
2020-04-07 00:04:08 +08:00
2024-07-17 15:33:14 +08:00
- **二进制安装**:
```
wget
```
2020-06-02 22:09:23 +08:00
2024-07-17 15:33:14 +08:00
### 控制台(Console)用
2024-07-17 15:33:14 +08:00
xmtop需要一些特殊符合和Unicode代码点的字体一些发行版不提供此功能。在xmtop存储库中有一种字体使用此字体可能会改善xmtop在终端中的呈现方式。使用方法如下
```shell
2020-06-02 22:09:23 +08:00
curl -O -L https://raw.githubusercontent.com/xxxserxxx/gotop/master/fonts/Lat15-VGA16-braille.psf
setfont Lat15-VGA16-braille.psf
2019-01-17 13:00:38 +08:00
```
2024-07-17 15:33:14 +08:00
### 编译
2024-07-17 15:33:14 +08:00
xmtop需要使用go1.21或以后的版本编译
2020-03-06 21:29:23 +08:00
2020-06-02 22:09:23 +08:00
```shell
2024-07-17 15:33:14 +08:00
git clone ssh://git@gitea.whlug.cn:33262/LK/xmtop.git && cd xmtop
2021-02-04 04:27:46 +08:00
# This ugly SOB gets a usable version from the git tag list
2024-07-17 15:33:14 +08:00
# 这个丑陋的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
```
2024-07-17 15:33:14 +08:00
如果您想在Linux上尽可能压缩可执行文件请将`ldflags`行更改为:
2021-02-04 04:27:46 +08:00
```
-ldflags "-X main.Version=v${VERS} -X main.BuildDate=${DAT} -extldflags '-s -w'" \
```
2024-07-17 15:33:14 +08:00
编译完成后将`xmtop`可执行文件移动到$PATH中的某个位置。
2024-07-17 15:33:14 +08:00
如果Go没有安装或者是错误的版本并且您没有root访问权限或不想升级Go则会提供一个脚本来下载Go和gotops源编译gotops然后进行清理。请参见`scripts/install_without_root.sh`。
2020-06-19 23:01:26 +08:00
2024-07-17 15:33:14 +08:00
## 使用
2020-06-19 23:01:26 +08:00
2024-07-17 15:33:14 +08:00
运行`-h`可以获取帮助菜单。其中许多功能都可以通过创建配置文件来配置; 有关更多信息请参见下一节。键绑定可以在xmtop运行时通过按`?`键,或者可以使用`——list keys`命令打印出来。
2018-02-21 10:57:18 +08:00
2024-07-17 15:33:14 +08:00
除了键绑定之外,还可以使用鼠标来控制进程列表:
2024-07-17 15:33:14 +08:00
- 点击选择流程
- 鼠标滚轮滚动浏览进程
2018-02-19 15:25:02 +08:00
2024-07-17 15:33:14 +08:00
有关其他主题的更多信息,请参阅
2018-02-19 15:25:02 +08:00
2024-07-17 15:33:14 +08:00
- [Layouts](./docs/layouts.md)
- [Configuration](./docs/configuration.md)
- [Color schemes](./docs/colorschemes.md)
- [Device filtering](./docs/devices.md)
- [Extensions](./docs/extensions.md)
2024-07-17 15:33:14 +08:00
## 监控远程机器
--------------------------
2024-07-17 15:33:14 +08:00
gotops可以监视在远程计算机上运行的gotops并在单个实例中显示 (某些) 指标。Gottop希望在代理后面或者在安全的内部网内。文档中提供了一个
[远程监控实例](./docs/remote-monitoring.md)
设置
2024-07-17 15:33:14 +08:00
## 截图
2020-02-23 22:13:43 +08:00
#### '-l kitchensink' + colorscheme
<img src="./assets/screenshots/kitchensink.gif" />
2020-02-23 22:13:43 +08:00
#### "-l battery"
<img src="./assets/screenshots/battery.png" />
2020-02-23 22:13:43 +08:00
#### "-l minimal"
<img src="./assets/screenshots/minimal.png" />
2020-02-23 22:13:43 +08:00
#### Custom (layouts/procs)
<img src="./assets/screenshots/procs.png" />
2018-04-14 08:02:10 +08:00
## Built With
2019-01-01 08:55:50 +08:00
- [gizak/termui](https://github.com/gizak/termui)
- [nsf/termbox](https://github.com/nsf/termbox-go)
2019-01-01 08:55:50 +08:00
- [exrook/drawille-go](https://github.com/exrook/drawille-go)
- [shirou/gopsutil](https://github.com/shirou/gopsutil)
- [goreleaser/nfpm](https://github.com/goreleaser/nfpm)
2019-01-05 01:51:31 +08:00
- [distatus/battery](https://github.com/distatus/battery)
2024-07-17 15:33:14 +08:00
- [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.
2020-06-03 21:34:31 +08:00
2024-07-17 15:33:14 +08:00
## 项目历史
2020-06-03 21:34:31 +08:00
2024-07-17 15:33:14 +08:00
gotop的最初作者在Rust中启动了一个名为[ytop](https://github.com/cjbassi/ytop)的新工具并弃用了他的Go版本。这个项目是基于[gotop项目的xxxserxxx分支](https://github.com/xxxserxxx/gotop)制作的。主要目的是用来优化龙架构的使用体验和添加更丰富的功能。
2020-06-03 21:34:31 +08:00