Linux Mint 默认限制了我的现代硬件性能——三个更改就完全解决了问题
在现代电脑上,你会期望你的高端 NVMe 固态硬盘和多核处理器提供最佳性能。这就是为什么在我发现在全新安装的 Linux Mint 上进行重度多任务处理时出现微小卡顿后,我无法接受是硬件出现了问题。出于好奇,我进行了调查,结果我意识到问题出在 Linux Mint 本身。
默认情况下,它使用保守的内核默认设置以实现广泛的兼容性,这可能会在现代系统上不必要地限制性能。更改这三个系统配置可以释放设备的真正速度。
降低 Linux Mint 的 swappiness
我的内存停止和我作对了
当你切换回一个标签页时,它通常需要重新加载,而最小化的应用程序可能需要一会儿才能唤醒。即使你的系统监视器显示有几千兆字节的可用内存,你也会注意到这种情况。因此,即使有可用的内存,操作系统也会感觉没有在使用它。
原因与一个名为 swappiness 的内核设置有关。这是一个从 0 到 100 的数字,用于控制设备将进程从内存中停用并移动到硬盘的激进程度。在 Linux Mint 上,默认值是 60,这使它能够在大多数设备上运行,包括性能不足的笔记本。然而,在拥有 8GB 或更多内存的性能更强的设备上,这意味着 Linux Mint 会在真正需要之前就将数据移到交换区。
问题在于延迟,而不是吞吐量,所以即使是快速的 SSD 也无法解决。在基准测试中,RAM 在纳秒级响应与 NVMe 在微秒级响应的差异几乎看不见,但足以让人感受到应用返回活动时的微小停顿。
当我运行命令 free -h 时,我看到交换分区逐渐填满,而 RAM 大部分时间保持空闲。这让我相信操作系统是针对最坏情况进行优化的,而这种情况并不适用于我。运行 free -h;如果交换分区非零,则在 /etc/sysctl.conf 中添加 vm.swappiness=10。然后运行 sudo sysctl -p 立即应用更改。
使用 cat /proc/sys/vm/swappiness 确认它是否生效;它应该返回 10。
在10岁时,交换仍然是真正的紧急备用,并且进程不再被过早地从内存中驱逐。
替换 Linux Mint 的电源管理器
我的CPU停止了犹豫
即使温度和CPU使用率看起来正常,你的系统可能感觉比硬件实际能力要慢。这个问题在基准测试中没有出现,且花了更长时间才被发现。
性能限制的发生是因为桌面使用以数千次微小的突发方式进行。打开应用程序、切换窗口和生成进程通常在不到半秒的时间内完成。当计算机无法足够快地达到这些小任务所需的性能状态时,小的交互会比预期稍晚到达。这会导致你可能观察到的迟缓感。
Linux Mint 22 默认将 power-profiles-daemon 设置为平衡模式。这对于与旧设备的兼容性是正确的选择,但这意味着在具有广泛 P 状态范围的现代 Intel 和 AMD 芯片上,它会比较保守,因此 CPU 不能在未先确认持续负载的情况下升到更高的频率。这种犹豫会在高度交互的间歇性任务中加剧。
我将守护进程替换为 auto-cpufreq,它通过实时监控使用情况、温度和电源状态,动态调整 CPU 管理器和涡轮增压。
使用 systemctl status tlp 检查 TLP 状态。如果它正在运行,请在安装 auto-cpufreq 之前使用 sudo apt remove tlp tlp-rdw 将其移除,以避免冲突。
现在你可以运行以下命令来安装 auto-cpufreq(安装程序会自动禁用 power-profiles-daemon):
sudo apt install git
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
sudo auto-cpufreq --install你可以通过运行以下命令查看它是否在工作以及实时查看每个核心的频率和涡轮状态:sudo auto-cpufreq --stats效果是应用程序启动更快,虚拟机启动速度提高,浏览器标签页响应更灵敏。
调优 Linux Mint 的磁盘缓存
我的 SSD 停止引起卡顿了
Linux 不会立即将你写入的文件发送到存储。数据会作为脏页保留在 RAM 中,并以批量方式刷新到磁盘。两个内核参数控制刷新发生的时间:
- vm.dirty_background_ratio:后台刷新开始时
- vm.dirty_ratio:在清除积压之前冻结所有 I/O 的上限
这两者的默认值分别是10%和20%。这意味着如果你有16GB的内存,那么在开始刷新之前,你有1.6GB的待写入数据,而在系统停止一切以追赶之前,有3.2GB的待写入数据。这种停顿可能只有半秒钟,但在特定任务中,比如软件更新、云同步或归档解压时,你会感到卡顿。
解决方法是将以下两行代码添加到 /etc/sysctl.conf 并运行 sudo sysctl -p:
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10一旦完成,你就会将写入积压减半,并允许更小、更频繁的刷新。它们不再是偶尔发生且显而易见的。
在这三种变化中,这一种最具有情境性,开发者、创作者和大量多任务处理的人将受益最大。
哪个调整最重要?
通过降低交换空间使用率,你会获得最大的影响。在我使用 8GB 和 16GB 内存的机器上,这种差异非常明显。这只是一个单行的、低风险的更改。不过,当我进行编译或使用虚拟机时,我感觉更换电源管理器的影响最大。磁盘缓存似乎更多地起到了消除其他更改未能解决的特定类型卡顿的最后一步的作用。
这一切的重点不是说 Linux Mint 的默认设置很慢;它们只是为了最大程度的硬件兼容性而设计的,而我需要充分利用更现代的计算机。







