让 2017 款 MacBook Pro 满血复活:macOS Ventura 换装 Xubuntu 24.04 LTS 实战指南

一台 2017 年的 MacBook Pro,当年卖一万多,如今打开浏览器都喘。问题不在硬件——而在它身上的软件每年都在为更新的机器写作。给它换个轻量系统,等于把被系统吃掉的 3GB 内存还给自己。 开场:越更新越卡的"官方支持" 上周帮朋友收拾一台 2017 款 MacBook Pro:13 寸,8GB 内存,512GB SSD。当年这也是台主力开发机,现在开个 Chrome 加十几个标签页,风扇就开始起飞,切换窗口能感觉到明显的迟滞。 系统一路从 Sierra 升到了 Ventura——苹果对这台机器的官方支持到 macOS 13 为止,再往上(Sonoma、Sequoia、Tahoe)全都把它踢出了名单。也就是说,这台机器已经站在了 macOS 世界的尽头: 安全更新快断供:Ventura 的支持周期临近结束,之后就是裸奔 资源越吃越多:空闲状态下 macOS Ventura 自己就占掉 3.5–4.5GB 内存,留给应用的只剩不到一半 软件只往前看:新版应用默认你有 16GB 内存和新 CPU,没人再为 8GB 老机器优化 换掉它的理由很充分。但换什么?答案可能出乎意料地朴素:Xubuntu 24.04 LTS。 为什么是 Xubuntu:一张对比表说清楚 Xubuntu 是 Ubuntu 官方 flavors 之一,把桌面从 GNOME 换成了轻量的 XFCE。内核、软件仓库、apt、LTS 支持周期全都和 Ubuntu 一样,只是桌面开销大幅降低。 在同一台 2017 MBP(8GB / 512GB SSD)上实测对比: 项目 Xubuntu 24.04 macOS Ventura 这意味着什么 空闲内存占用 ~0.8 GB ~4.0 GB ✅ 多出 3GB+ 给浏览器和 IDE 安装体积 ~9 GB ~30 GB ✅ 磁盘压力小 开机到桌面 ~18 s ~35 s ✅ 日常感知明显 空闲 CPU <1% 1–3% ⚠️ Spotlight/iCloud 后台常驻 安全支持 到 2029(ESM 到 2034) 即将停更 ✅ 决定性差距 动画精致度 朴素但流畅 丝滑 ⚠️ 唯一让步 8GB 内存是这台机器的瓶颈。macOS 的内存管理很聪明(压缩 + swap),但巧妇难为无米之炊;Xubuntu 的思路简单粗暴——系统自己少用点,把内存还给应用。 ...

August 3, 2026 · FXIO

家用 PostgreSQL 调优实战:从默认配置到性能翻倍

一台 16GB 内存的家用服务器,PostgreSQL 跑起来总觉得慢,改配置又怕改坏——这篇文章用真实的配置文件逐项拆解,告诉你哪些参数值得动,动多少合适。 开场:一次"改坏"的调优经历 上周帮朋友调一台家用服务器上的 PostgreSQL,他信誓旦旦说"我照着网上的教程改了 shared_buffers 到 8GB,结果数据库直接起不来了"。我一看配置——16GB 的机器,shared_buffers 给了 8GB,再加上操作系统缓存、其他服务,内存直接 OOM。 这种故事在家庭服务器圈子里太常见了。PostgreSQL 的 postgresql.conf 有几百个参数,但真正需要动的也就十来个。今天我们用一台真实的家用机器配置,逐项拆解。 硬件家底:你的机器够干多大的活 先看看今天的实验对象: 项目 配置 CPU 12th Gen Intel i5-1240P(12核16线程) 内存 16GB 磁盘 SSD 系统 Ubuntu 24.04 LTS PG 版本 PostgreSQL 16 16GB 内存、SSD、12 代酷睿——这是典型的家用 NAS 或者小型工作站配置。够用,但没有太多余量可以挥霍。 第一梯队:内存分配三兄弟 PostgreSQL 的性能调优,80% 就是调内存分配。搞明白三个参数,基本就入门了。 shared_buffers — 数据库的"工作台" shared_buffers = 2GB 这是 PostgreSQL 自己用来缓存数据页的内存。你可以把它想象成厨师的工作台——台面越大,能同时摊开的食材越多,不用反复跑冰箱拿东西。 经验法则:物理内存的 25%。16GB 的机器给 2GB 是合理的。给太大(比如 8GB),操作系统缓存会被挤掉,反而变慢;给太小,频繁读磁盘,性能拉胯。 验证方法: SELECT pg_size_pretty(pg_database_size(current_database())) AS db_size, pg_size_pretty(pg_total_relation_size('projects')) AS table_size; 如果你的数据库总量小于 shared_buffers,那说明数据全在缓存里,调大没意义。 ...

July 24, 2026 · FXIO

旧主板 + 新 NVMe 的 I/O 问题排查

m2硬盘安装ubuntu出现I/O错误: DMAR fault的排查记录(含解决方案) 在旧台式机安装Ubuntu24.04 的过程中,我遇到一个非常棘手的问题: 第一次安装失败; 安装过程中, 提示io错误 关机后, 再次安装, 安装成功 进入系统后, 硬盘灯持续规律闪烁, 频繁出现 I/O 错误、系统卡顿、硬盘灯间隔性闪烁、并伴随 DMAR/IOMMU 报错 最开始遇到这个问题, 我以为是硬盘问题, 更换为 sata硬盘后, 问题消失。似乎从某种程序上证明是此硬盘问题; 随后此”坏硬盘“, 就安静的放在角落; 今天整理物品, 发现这块硬盘, 突然想到, 让ai帮忙分析分析硬盘是什么原因导致的故障, 以后如何避免买到类似的硬盘; 这篇文章记录整个排查过程,希望给未来遇到类似问题的人提供一个可参考的解决思路。 1. 硬件与环境背景 主板:Gigabyte Z97X-UD3H(2014年) CPU:Intel i7-4790K(Haswell) NVMe:YMTC PC300 512GB(支持 HMB,NVMe1.4) 系统:Ubuntu 24.04 NVMe 安装在主析的m2硬盘槽位 这是典型的“老主板 + 新 NVMe 控制器”的组合,在 Linux 下非常容易触发兼容性问题。 2. 问题现象 (1)安装 Ubuntu 时随机 I/O 错误 系统安装过程中文件复制中断 安装流程偶尔直接失败 重试偶尔能安装成功 (2)安装成功后,进入系统, 硬盘灯持续规律闪烁 开机后系统明显不顺畅。 复制文件时,会出现卡顿, 此时硬盘灯一直有规律的闪烁; (3)复制大文件(如 ubuntu.iso 6GB)出现卡顿 传输速度会突然降到零,直到系统无响应。 (4)dmesg 出现 DMAR/IOMMU 报错 DMAR: DRHD: handling fault status reg 2 DMAR: [DMA Write] Request device [01:00.0] fault addr ... DMAR: write no_pasid (5) 硬盘smart 检测无异常 使用 smartctl 读取 NVMe 健康状态: smartctl -x /dev/nvme0 ...

December 7, 2025 · FXIO

常用 Linux 命令

常用 Linux 命令 cd 改变当前目录 # 跳转到家目录 cd ~ # 跳转到上级目录 cd .. # 跳转根目录 cd / # 显示当前目录 pwd cp 复制文件 # 复制目录 cp -r source_dir destination_dir mkdir mkdir -p /data/www/test tar tar -zcvf /data/backup/test.tar.gz /data/www/test 系统信息 uname -a cat /proc/cpuinfo cat /proc/meminfo cat /proc/meminfo | grep MemTotal lspci -tv lsusb -tv free -m df -h du -sh /data/www/test uptime fdisk -l 网络 ifconfig netstat -antp netstat -antp | grep 80 进程 ps -ef | grep java # 用户登录日志 last 软件 # 查看已安装的java版本 dpkg -l | grep java # 安装java sudo apt install -y openjdk-8-jdk # 卸载java sudo apt remove openjdk-8-jdk # dpkg -ivh 安装软件包 # rpm -qa | grep java 磁盘容量报警 服务器不停的运行,会产生很多日志文件(nginx,tomcat) 设查询条件为: ...

April 24, 2017 · FXIO