📌 一、系统监测
在 Ubuntu 中,有多个命令可以实时查看 CPU 和内存使用情况,它们各有特点,适合不同的使用场景。以下是最常用的几个工具及用法:
1. top:经典的实时系统监控工具
top 是 Linux 下最基础的实时监控命令,默认每 3 秒刷新一次,能显示进程、CPU、内存、负载等关键信息。
用法:
直接在终端输入:
top
关键信息解读:
-
CPU 部分(顶部
%Cpu(s)行):-
us:用户进程占用 CPU 百分比(如应用程序)。 -
sy:系统进程占用 CPU 百分比(如内核操作)。 -
ni:优先级调整过的进程占用 CPU 百分比。 -
id:CPU 空闲百分比(数值越低,CPU 越忙)。 -
wa:CPU 等待 IO(如磁盘读写)的时间百分比(过高可能意味着磁盘瓶颈)。
-
-
内存部分(顶部
MiB Mem和MiB Swap行):-
total:总内存大小。 -
free:完全空闲的内存。 -
used:已使用的内存(包括应用程序和缓存)。 -
buff/cache:用于缓存文件的内存(可被释放给应用程序)。
-
常用操作(在 top 界面中):
-
P:按 CPU 使用率排序(默认,方便找最耗 CPU 的进程)。 -
M:按内存使用率排序(方便找最耗内存的进程)。 -
k:输入进程 PID 杀死进程。 -
q:退出top。
2. htop:更直观的交互式监控工具
htop 是 top 的增强版,界面更友好(支持鼠标操作、彩色显示、进程树等),但需要手动安装。
安装:
sudo apt update && sudo apt install htop
用法:
终端输入:
htop
优势:
-
左侧显示 CPU 核心数(每个核心的使用率单独显示)。
-
内存和交换分区使用情况以进度条显示,直观易懂。
-
支持用鼠标点击表头排序(如点
CPU%按 CPU 排序)。 -
底部有快捷键提示(如
F6选择排序方式,F9杀死进程)。
3. glances:全能型系统监控工具
glances 不仅能监控 CPU 和内存,还能显示磁盘 IO、网络流量、进程、温度等,适合全面了解系统状态。
安装:
sudo apt install glances
用法:
glances
特点:
-
彩色标识状态(绿色正常、黄色警告、红色危险)。
-
右侧显示网络流量(上传 / 下载速度)和磁盘 IO。
-
支持远程监控(通过
glances -s开启服务,其他设备用glances @IP连接)。
附加
报错/usr/lib/python3/dist-packages/psutil/_pslinux.py:1150: RuntimeWarning: ignoring FileNotFoundError(2, '没有那个文件或目录')
warnings.warn("ignoring %r" % err, RuntimeWarning) 的时候,采用python3 -W ignore::RuntimeWarning $(which glances)运行或者解决报错。
4. vmstat:简洁的系统资源统计
vmstat 侧重显示系统整体资源(CPU、内存、IO)的统计数据,适合快速定位瓶颈。
用法:
vmstat 2 5 # 每 2 秒输出一次,共输出 5 次(不加数字则只输出一次)
关键输出:
-
r:等待运行的进程数(长期大于 CPU 核心数,说明 CPU 不足)。 -
us/sy/id/wa:和top中的 CPU 指标一致。 -
swpd:交换分区使用量(过高说明内存不足,开始用磁盘模拟内存)。 -
si/so:交换分区的读 / 写次数(频繁读写说明内存严重不足)。
总结:选择建议
-
快速查看基础信息:用
top(无需安装,系统自带)。 -
交互式操作、直观显示:用
htop(推荐新手)。 -
全面监控(含网络 / 磁盘):用
glances。 -
脚本或批量统计:用
vmstat(输出格式规整,方便解析)。
这些工具都能实时刷新数据(刷新频率可调整),满足日常监控 CPU 和内存的需求。
📌 二、交换分区
扩容
建议的 Swap 大小
| 物理内存 | 建议 Swap 大小 | 说明 |
| 16GB | 32GB | Android 编译推荐至少 24~32GB,防止编译中断 |
| 8~12GB | 32GB~64GB | 内存越小,Swap 越要大 |
| >32GB | 可设 8~16GB | 主要用于容灾而不是性能需求 |
- 关闭当前 swap
sudo swapoff /swapfile
- 删除原有的 swap 文件
sudo rm /swapfile
- 重新创建更大的 swap 文件(32G 示例)
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
- 启用新的 swap
sudo swapon /swapfile
- (可选)确认已生效
swapon --show
free -h
- 确保开机自动挂载
确认 /etc/fstab 中有以下这一行(若没有就添加):
/swapfile none swap sw 0 0
- 如果希望临时挂载而不删除原有 swap,也可以用另一个文件名:
sudo fallocate -l 16G /swapfile2
sudo chmod 600 /swapfile2
sudo mkswap /swapfile2
sudo swapon /swapfile2
这样系统就同时挂载了两个 swap 文件(不过长期推荐只保留一个 /swapfile 就好)。