📌 一、系统监测

在 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 MemMiB Swap 行):

    • total:总内存大小。

    • free:完全空闲的内存。

    • used:已使用的内存(包括应用程序和缓存)。

    • buff/cache:用于缓存文件的内存(可被释放给应用程序)。

常用操作(在 top 界面中):

  • P:按 CPU 使用率排序(默认,方便找最耗 CPU 的进程)。

  • M:按内存使用率排序(方便找最耗内存的进程)。

  • k:输入进程 PID 杀死进程。

  • q:退出 top

2. htop:更直观的交互式监控工具

htoptop 的增强版,界面更友好(支持鼠标操作、彩色显示、进程树等),但需要手动安装。

安装:

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 主要用于容灾而不是性能需求
  1. 关闭当前 swap
sudo swapoff /swapfile
  1. 删除原有的 swap 文件
sudo rm /swapfile
  1. 重新创建更大的 swap 文件(32G 示例)
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
  1. 启用新的 swap
sudo swapon /swapfile
  1. (可选)确认已生效
swapon --show
free -h
  1. 确保开机自动挂载

确认 /etc/fstab 中有以下这一行(若没有就添加):

/swapfile none swap sw 0 0
  1. 如果希望临时挂载而不删除原有 swap,也可以用另一个文件名:
sudo fallocate -l 16G /swapfile2
sudo chmod 600 /swapfile2
sudo mkswap /swapfile2
sudo swapon /swapfile2

这样系统就同时挂载了两个 swap 文件(不过长期推荐只保留一个 /swapfile 就好)。