Pop OS 21.10 系统卡顿怎么解决 一键优化提升运行流畅度的完整指南
说实话,拿到 Pop!_OS 21.10 的时候我挺期待的,毕竟 System76 这个发行版一直口碑不错。但装了一段时间后,确实会遇到一些卡顿的情况——尤其是用着比较老的硬件,或者同时开着几个 Chrome 标签页、再跑个虚拟机的时候。今天咱就坐下来,好好聊聊这个问题,不整那些虚的,直接给干货。
先搞清楚”卡顿”到底是谁在搞事
在动手之前,咱们得先知道问题出在哪。系统卡顿不是一种病,可能是十种病,先诊断再开药。
# 打开终端,输入这几个命令看看系统状况
htop
这个命令会给你一个可视化的进程列表,跟任务管理器长得差不多,但功能更强。你会看到 CPU、内存、磁盘、网络的使用情况。注意看最上面那几个百分比,如果 CPU 总占用超过 80%,或者有某个进程一直占着不放,那基本就是罪魁祸首了。
# 看看内存情况
free -h
如果”avail”那一列的数字很小,比如只剩 500MB,而你的总内存是 16GB,那说明内存不够用了,系统开始用 swap,这就容易导致卡顿。
# 查看磁盘 I/O 情况
iotop
有时候不是 CPU 或内存的问题,而是磁盘读写太频繁,比如系统在不断刷新缓存,或者某个程序在疯狂写日志。
# 看看系统日志里有没有什么异常
journalctl -p err -b
这个命令会显示当前启动以来的所有错误信息,有时候显卡驱动报错、某个服务启动失败,都会导致卡顿,但你可能从来没注意到。
我有个朋友用 Pop!_OS 21.10,卡顿的原因最后查出来是 Nvidia 显卡驱动的问题。他装的是开源的 nouveau 驱动,而不是官方闭源驱动,结果 3D 渲染一直不流畅。这种问题不查日志还真发现不了。
显卡驱动:卡顿最常见的”元凶”
Pop!_OS 跟其他发行版不太一样,System76 对 Nvidia 显卡做了很深的优化。如果你用的是 Nvidia 显卡,但没装官方驱动,那卡顿几乎不可避免。
怎么确认自己的显卡驱动状态
nvidia-smi
如果这个命令能正常输出,并且能看到显卡型号、驱动版本、显存使用情况,说明驱动是好的。如果提示”command not found”,或者输出很奇怪,那驱动可能有问题。
# 查看显卡信息
lspci | grep -i vga
输出会告诉你显卡的具体型号,比如”NVIDIA Corporation GP107”之类的。
安装正确的驱动
Pop!_OS 的 21.10 版本在”Applications”里有一个叫”Driver Manager”的工具,这是最傻瓜化的方式。但有时候它会出问题,比如找不到合适的驱动,或者装完还是不行。这时候就得手动来。
# 先更新一下系统
sudo apt update && sudo apt upgrade -y
# 查看推荐的 Nvidia 驱动版本
ubuntu-drivers devices
输出会类似这样:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C62sv000010DEsd00001234bc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-470 - third party non-free
driver : nvidia-driver-450 - third party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
这里的建议是装 470 版本,因为你的显卡是 GP107(GTX 1050),470 驱动对这一代显卡支持最好。
# 安装推荐版本
sudo apt install nvidia-driver-470 nvidia-settings -y
装完之后必须重启:
sudo reboot
重启后用 nvidia-smi 确认一下,驱动应该已经正常加载了。
如果你用的是 AMD 显卡
AMD 显卡在 Linux 下一般不需要额外装驱动,开源驱动已经内置了。但如果你用的是比较老的 AMD 卡(比如 HD 7000 系列之前),可能需要开启一些额外的选项。
# 查看 AMD 显卡驱动加载情况
lsmod | grep amdgpu
如果能看到 amdgpu 模块,说明驱动已经加载了。如果卡顿,可以尝试更新内核:
sudo apt install linux-generic-hwe-20.04
sudo reboot
Pop!_OS 21.10 基于 Ubuntu 20.04,HWE 内核可以提供更新的硬件支持。
桌面效果:好看的代价
Pop!_OS 的 COSMIC 桌面(早期版本其实是 GNOME 的定制版)默认开了一些动画和特效,这些对高配置机器没问题,但对老机器来说就是负担。
# 安装 GNOME Tweaks,可以精细调节桌面效果
sudo apt install gnome-tweaks -y
装完之后打开”Tweaks”,找到”Animations”或者”Effects”,把下面的选项关掉或者调慢:
- Window animations:关
- Transition duration:调成 0.1 秒或者直接关
- Workspaces only on primary monitor:如果你不需要多个工作区,可以关掉
- Dynamic workspaces:关掉,让工作区数量固定
还有最重要的一点——减少工作区数量。很多人喜欢开一堆工作区,结果每次切换都要渲染,内存和 CPU 都在拼命工作。
# 用命令直接限制工作区数量
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences workspaces-only-on-primary true
后台服务:看不见的卡顿制造者
Linux 的 systemd 服务启动很多程序,有些对你完全没用,但一直在后台跑。
# 查看当前运行的所有服务
systemctl list-units --type=service --state=running
你会看到一大串,像 bluetooth.service、cups.service、avahi-daemon.service 之类的。如果你不用蓝牙,不用打印机,不用网络共享,这些服务就是白跑的。
# 禁用蓝牙服务(如果你不需要)
sudo systemctl disable --now bluetooth
# 禁用打印机服务
sudo systemctl disable --now cups
# 禁用 Avahi 网络发现
sudo systemctl disable --now avahi-daemon
这些服务关了之后,内存至少能释放 100-200MB,CPU 负载也会低一些。
还有一个常见的”大户”是 Flatpak 的后台更新服务:
# 查看 Flatpak 相关服务
systemctl list-units --user | grep flatpak
如果看到 flatpak-helper 或者 xdg-desktop-portal 相关的服务在跑,而且你平时不怎么用 Flatpak 应用,可以考虑关掉:
systemctl --user disable --now flatpak-update.timer
浏览器:资源黑洞
说实话,Chrome 和 Firefox 在 Linux 上都不是省油的灯。尤其是 Chrome,开十几个标签页,内存占用轻松破 2GB。
# 看看浏览器的内存占用
ps aux | grep -i chrome
如果你用的是 Firefox,有几个优化选项值得做:
打开 Firefox,地址栏输入 about:config,然后搜索以下选项并修改:
layout.css.devPixelsPerPx:改成1.0(如果现在是1.25之类的,界面缩放会消耗更多 GPU 资源)browser.tabs.loadDivertedInBackground:改成true,后台标签页加载不会抢前台资源privacy.resistFingerprinting:关掉(如果你不关心隐私的话,开了会增加 CPU 负担)javascript.options.baseline jit:保持默认
如果你用的是 Chrome,可以加启动参数来优化:
google-chrome --disable-extensions --disable-gpu --disable-software-rasterizer
或者更彻底的,把硬件加速关掉:
设置 → 系统 → 关闭”使用硬件加速模式(如果可用)”。
Swap 设置:别让磁盘把你拖垮
很多人不知道 Linux 的 swap 策略是可以调的。默认的 vm.swappiness=60 意味着系统会在内存用到 40% 的时候就疯狂往 swap 里写数据,这会导致卡顿——因为磁盘读写比内存慢几千倍。
# 查看当前的 swappiness 值
cat /proc/sys/vm/swappiness
如果是 60,那确实太高了。改成 10:
# 临时修改(重启后失效)
sudo sysctl vm.swappiness=10
# 永久修改
sudo nano /etc/sysctl.conf
在文件末尾加一行:
vm.swappiness=10
保存退出,然后:
sudo sysctl -p
如果你的内存够大(16GB 以上),甚至可以完全禁用 swap 上的压缩,因为现在的 CPU 压缩数据比直接写磁盘更快:
# 查看 zram 状态(Pop!_OS 默认启用了 zram 作为 swap)
zramctl
如果输出显示 zram 已经在工作,那其实不用太担心。但如果你的 swap 是普通分区,可以考虑换用 zram:
# 安装 zram-tools
sudo apt install zram-tools -y
# 编辑配置
sudo nano /etc/default/zramswap
把 PERCENT 改成 50,表示用内存的 50% 作为压缩 swap:
PERCENT=50
然后重启服务:
sudo systemctl restart zramswap
文件系统优化:小小的改动,大大的提升
Pop!_OS 21.10 默认用的是 ext4 文件系统,这本身没问题。但挂载参数可以优化。
# 查看当前磁盘挂载选项
mount | grep ' / '
输出类似:
/dev/nvme0n1p2 on / type ext4 (rw,relatime,errors=remount-ro)
如果是 SSD,可以加上 noatime 参数,避免每次读取文件都更新访问时间,减少磁盘写入:
sudo nano /etc/fstab
找到根分量的那行,在挂载选项里加上 noatime:
UUID=xxxx-xxxx / ext4 defaults,noatime 0 1
保存后重新挂载:
sudo mount -o remount /
如果你的系统盘是 SSD,还有一个重要的检查:TRIM 是否开启。
# 查看 TRIM 是否启用
systemctl status fstrim.timer
如果显示 inactive,就启用它:
sudo systemctl enable --now fstrim.timer
电源管理:省电模式可能是卡顿的帮凶
很多人不知道 Linux 有省电模式,而且它会影响 CPU 频率。
# 查看当前电源管理状态
cpupower frequency-info
输出里会有”current policy”,如果写着”governor: powersave”,那 CPU 就会降频,系统自然卡顿。
# 查看可用的 governor
cpupower frequency-set -g performance
这会把 CPU 调到性能模式。但这样会耗电,如果是笔记本的话,建议写个脚本来自动切换:
sudo nano /usr/local/bin/performance-toggle
#!/bin/bash
CURRENT=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
if [ "$CURRENT" = "performance" ]; then
sudo cpupower frequency-set -g powersave
echo "切换到省电模式"
else
sudo cpupower frequency-set -g performance
echo "切换到性能模式"
fi
保存后给执行权限:
sudo chmod +x /usr/local/bin/performance-toggle
以后可以在终端直接运行这个脚本,或者绑定一个快捷键。
一键优化脚本:懒人必备
我知道很多人不想一个个命令敲,所以我把上面能做的都整合到一个脚本里了。你可以直接复制粘贴,根据自己的情况调整。
#!/bin/bash
# Pop!_OS 21.10 一键优化脚本
# 作者:Agnes
# 用途:提升系统流畅度
echo "🚀 开始优化 Pop!_OS 21.10..."
echo ""
# 1. 更新系统
echo "📦 更新系统包..."
sudo apt update && sudo apt upgrade -y
echo "✅ 系统更新完成"
echo ""
# 2. 优化 swappiness
echo "⚙️ 调整 swappiness 为 10..."
sudo sysctl -w vm.swappiness=10
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
echo "✅ swappiness 优化完成"
echo ""
# 3. 禁用不必要的服务
echo "🔧 禁用不必要的系统服务..."
sudo systemctl disable --now bluetooth 2>/dev/null
sudo systemctl disable --now cups 2>/dev/null
sudo systemctl disable --now avahi-daemon 2>/dev/null
sudo systemctl disable --now avahi-daemon.socket 2>/dev/null
echo "✅ 服务优化完成(根据你的实际情况调整)"
echo ""
# 4. 启用 fstrim(SSD 优化)
echo "💾 启用 SSD TRIM..."
sudo systemctl enable --now fstrim.timer
echo "✅ TRIM 已启用"
echo ""
# 5. 设置 CPU 为 performance 模式
echo "⚡ 设置 CPU 性能模式..."
sudo cpupower frequency-set -g performance 2>/dev/null && echo "✅ CPU 性能模式已设置" || echo "⚠️ CPU 调频工具未安装或无权限"
echo ""
# 6. 清理系统缓存
echo "🧹 清理系统缓存..."
sudo rm -rf /tmp/*
sudo rm -rf ~/.cache/thumbnails/*
echo "✅ 缓存清理完成"
echo ""
# 7. 检查 Nvidia 驱动
echo "🎮 检查 Nvidia 驱动..."
if command -v nvidia-smi &>/dev/null; then
echo "✅ Nvidia 驱动已安装"
nvidia-smi --query-gpu=name,driver_version,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv
else
echo "⚠️ 未检测到 Nvidia 驱动,如需安装请运行:"
echo " sudo apt install nvidia-driver-470 nvidia-settings -y"
fi
echo ""
echo "🎉 优化完成!建议重启系统以使所有更改生效。"
echo "运行:sudo reboot"
把这个脚本保存成 optimize.sh,然后运行:
chmod +x optimize.sh
sudo ./optimize.sh
运行完之后,记得重启一下系统。
实时监控:优化后看看效果
优化完了,怎么知道有没有用?装一个监控系统就行。
sudo apt install bashtop -y
bashtop 是一个比 htop 更强大的监控工具,可以同时看 CPU、内存、磁盘、网络,还有图表。
bashtop
你也可以装 btop,界面更漂亮:
sudo apt install btop -y
btop
我推荐你装一个,放在启动项里,随时监控一下系统状态。如果某个进程突然占了很多资源,你第一时间就能看到。
最后说几句
系统卡顿这个问题,没有”一招鲜”的解决方案。每个人的情况都不一样,有的可能是驱动没装对,有的可能是后台服务太多,有的可能是硬件真的老了。我建议你按上面的步骤一步步来,每做完一步,感受一下系统有没有变化。如果还是卡,就把 htop 打开,看看是哪个进程在搞事,对症下药。
Pop!_OS 本身是一个很棒的发行版,System76 的团队对硬件兼容性做了很多工作。有时候卡顿只是配置问题,不是系统问题。调整好之后,你会发现 21.10 其实挺流畅的,尤其是搭配 System76 自家的硬件,体验会非常好。
希望这篇指南能帮到你。如果还有问题,随时来问,咱们一起解决。