系统监控全攻略
立即解锁
发布时间: 2025-09-09 02:01:25 阅读量: 9 订阅数: 54 AIGC 


Linux终端高效技巧精要
### 系统监控全攻略
#### 1. 僵尸进程处理
僵尸进程技术上已停止运行,通常无害。例如执行 `kill 7450` (基于图 8 - 14 中的进程 ID)来终止僵尸进程是无效的,唯一方法是终止其父进程,如执行 `kill 7449`。但如果想让相关程序继续运行,这就成了问题。建议让僵尸进程自行处理,因为它们一般不会引发问题。
#### 2. 检查可用磁盘空间
服务器或嵌入式设备常见问题是磁盘空间不足。例如,曾有设备因程序数月未压缩或删除旧日志文件,导致无空间写入而停止工作。
检查可用磁盘空间最简单的方法是使用 `df` 工具(“free space”的缩写),执行命令:
```bash
df -h
```
此命令将返回分区列表及各分区信息。可通过查看“Mounted on”列,找到值为“/”的分区,这通常是系统主分区。接着查看该分区的“Size”和“Use%”,了解总磁盘空间和当前使用百分比。
`df` 命令返回的列信息如下表:
| 列名 | 描述 |
| ---- | ---- |
| Filesystem | 文件系统名称 |
| Size | 分区大小(默认隐藏,使用 -h 显示) |
| 1K - blocks | 系统大小(以 1K 块为单位,使用 -h 时被 Size 替代) |
| Used | 已使用空间量 |
| Available | 可用空间量 |
| Use% | 已使用空间百分比 |
| Mounted On | 分区的目录位置 |
| IUsed | 分区上使用的 inodes(默认隐藏,使用 -i 显示) |
| Type | 分区文件系统类型(默认隐藏,使用 -T 显示) |
使用 `-h` 标志表示“人类可读”,不使用该标志时,`df` 以 KB 显示可用空间,而不是转换为 MB 或 GB。除非有特殊需求,否则建议使用 `-h` 标志。
#### 3. 查找系统上的大文件
若系统空间不足,可查找大文件。以下是查找超过 100M 文件的示例命令:
```bash
sudo find / -xdev -type f -size +100M -exec ls -la {} \; \
| sort -nk 5 \
| tac
```
若只想查找特定文件夹内的文件,可修改 `find` 命令的第一个参数。例如,只搜索用户 philip 文件夹内的文件,使用:
```bash
sudo find /home/username -xdev -type f \
-size +100M -exec ls -la {} \; \
| sort -nk 5 \
| tac
```
若只想查找总大小超过 1GB 的文件和目录,可执行:
```bash
sudo du -ahx / | grep -E '\d*\.?\d*+G\s+'
```
此外,可结合 `-size` 和 `-printf` 标志使用 `find` 获取并打印文件大小,但 `find` 只以 KB 显示大小,不如 GB 易读。更多细节可查看 `man find`。
#### 4. 监控设备网络使用
监控系统整体网络使用情况,以及按进程或网络接口细分的使用情况很有必要。在网络访问受限或带宽昂贵的设备上,如物联网设备或通过 GSM SIM 卡连接的笔记本电脑,监控网络使用可避免高额费用。即便网络不受限,了解哪些程序在使用网络连接也很有用,若发现异常,可进一步调查。以下是几个用于网络监控的程序:
- **bmon - 监控每个网络接口**:可监控每个网络接口(如 Wi - Fi、以太网)。例如,设备同时有 Wi - Fi 和 5G 连接,可能不在意 Wi - Fi 接口的高网络使用,但希望 5G 使用保持在一定水平。可编写软件检测使用的网络接口,并根据连接类型调整数据使用。`bmon` 可通过分解每个接口传输的数据量,确保这些措施有效。`bmon` 默认未安装,但多数包管理器中可用,在终端运行 `bmon` 即可打开。
- **nethogs - 按带宽使用列出程序**:多数情况下,更想知道哪些程序使用最多带宽。安装并运行 `nethogs` 可查看相关信息。注意,关闭程序后再打开会重新开始统计,若想了解一段时间内的使用情况,需让 `nethogs` 持续运行。
- **iftop**:可监控与哪些外部 IP 地址通信最多。启动 `iftop` 时需指定网络接口,若不知道网络接口,可运行 `ip a` 查看。例如,Wi - Fi 接口通常包含“w”,假设 Wi - Fi 接口名为 `wlp3s0`,执行以下命令监控:
```bash
sudo iftop -i wlp3s0
```
此命令将列出外部 IP 地址及上传和下载的数据量。为使显示更简洁,可按 `s` 隐藏左侧源信息,按 `p` 显示源端口,端口信息更有助于了解程序来源。
#### 5. 其他监控程序
- **sysstat**:可长期监控系统使用情况,比 `atop` 更全面。它通过每 10 分钟运行一个 cron 作业记录系统数据。安装命令如下:
```bash
sudo apt - get install sysstat
```
打开 `/etc/default/sysstat` 文件,确保以下行设置为 `true`(Ubuntu 默认设置为 `false`
0
0
复制全文
相关推荐









