分享 增加 Swap 分区来把十年前的旧电脑变废为宝

Mark24 · January 30, 2021 · Last by Mark24 replied at February 06, 2021 · 1728 hits

踩坑内容系统整理在 https://ruby-china.org/topics/40896


原始帖子

背景

10 年的 MacBookPro 2010 (4G 内存,2 代 i5,换过 SSD) 还是 MacOSX 时候接口接触不良,开机就卡死。风扇呼呼,非常非常卡。而且 MacOS 已经对它停止支持了。一度想扔掉。然后突发奇想安装了 Ubuntu20.10,结果所有毛病都消失了。。。。

原来这就是“计划性报废”。

参数表:
Intel® Core™ i5-2415M CPU @ 2.30GHz × 4 
3.8 GB 
Intel® HD Graphics 3000 (SNB GT2)
SSD:  Sandisk 240G

Ubuntu 20.10

安装 Ubuntu 之后

接口能用了,不再接触不良,拷贝速度 30-40M/s。一切工作正常,驱动也没问题——硬件足够老了可能。

但是就是有一个问题。电脑的内存太小了 4G,开个 IDE(Pycharm、Rubymine)就吃力了,作为生产力差点意思。

Swap 分区的问题

安装系统默认的 Swap 分区是 2G,也就是内存的一半。网上总流传一个 swap 的配置:

  • 如果内存很小 (<4GB),设为内存大小

  • 如果内存很大(>=4GB),设置为内存的一半

多多少少大家都能搜到。其实这个很有问题—— 这个可能是作为服务器来思考的。有的文章甚至提倡直接下掉 swap 分区来减少 swap 降低的速度带来的副作用。

但是多年前的文章怎么能指导今天的情况。我这台老电脑,我试着把电脑 swap 分成 8G(内存的 2 倍)。结果很有趣。粗略狂开了一下,同时运行这些程序

Thunderbird (更新邮件) x1
终端 x2
火狐 13 个 tab
sublime x1 项目
bt 下载 x2
vscodex1 项目
pycharm pro ide x2 项目
ruby mine ide x1 
pdf 文档 x4 本书
wordx3 文档
emacs x1
ppt x1 文档
数据库图形 x1
表格 x1
vlc 播放电影(不卡)
Chromex1  2 个 tab

2021-01-30 15-48-49 屏幕截图.png

2021-01-30 15-42-45 屏幕截图.png

8G 的 swap 分区才被占据了一半。

依然可以正常运行。CPU 远远不到瓶颈,因为 CPU 跑满顶多是多等一会,一切都不会失去响应。内存才是瓶颈。

侧面印证一些文章里提到的 Linux 在内存被塞满会报错,出现一些异常,系统会变慢。我猜测,其中内存和 swap 分区都满了之后,频繁的 GC(垃圾回收)其实是系统卡的重要原因。

作为桌面,即使程序都经过 swap 慢一点也无所谓,庞杂的 app 跑在机器上,频繁的 GC 才是灾难。和跑单一服务的服务器有些不同。内存如果可以,尽量给多,空间换时间。

如此这般作为生产力也可以顶一阵子了。

设置 swap 的方法

可以参考 change_swap_size_ubuntu

我后来 SWAP 设置为 16G 准备起飞。本身就是 SSD,这样省买内存了。非常惊喜。

感兴趣的小伙伴可以把你手里的旧电脑变废为宝。

补充

  • 还有一些文章,提到了多硬盘可以设置 swap 阵列,优先级以来提高性能。

  • 登陆的时候,可以选择 Wayland 而非 X11。这样图像的速度明显提升。内存的使用也减少了。

Mac 怎么装 ubuntu?苹果设备不是都硬件签名的吗

Reply to panghuihui

可以安装的,苹果自带分区工具

Reply to panghuihui

我这个 mbp 的话(我不知道新的 mac 怎么样) 如果你不要 mac os 了就很简单,按照 ubuntu 官网制作 usb 安装盘,然后关机。插入 Ubuntu 的 USB 安装盘,开机,按住 Option 键,就能看到 USB 启动了,然后直接全盘安装就好了。

如果你想保留 Mac OS,像二楼说的,苹果自带了一个分区工具,不过用于安装 windows 的,他会调整 mac 的空间,腾出硬盘空间,你可以直接安装 windows,再在 windows 里面安装 ubuntu……这部分比较复杂可以找下网上的笔记。

@Mark24 有了把 9 年旧电脑装上 ubuntu18.04 的信心

Reply to steve

😝 我表示我十年前 mac,吊打了 6 年后 xps

另外,ubuntu 的技巧就是,初始化之后,如果这个版本工作的不错,就别更新了。就安装安全更新。

尤其是内核别更新,值不定哪天挂了。2333333,只要这版本能工作,用到地老天荒就好了。这样还挺稳定。

桌面是 gnome3? 是的话不会卡?

@xiaox 我用 lxqt,gnome3 有些吃力

Reply to xiaox

还行。 就是能正常用,我理解不存在处理不过来,我是 2 代 i5,他能正常用。稍微比他好一点的,正常用没问题。

以前内存小他就卡,应该就是涉及到内存任务导致核心线程被阻塞,所以你觉得卡。这里的意思就是小内存电脑,如果有 SSD 那就给足 swap,减少内核在分配内存上的时间。

主任务不会觉得卡,完全可以正常用。

Reply to Mark24

了解了。谢谢!

补充:

登陆的时候,可以选择 Wayland 而非 X11。这样图像的速度明显提升。内存的使用也减少了。

Reply to Mark24

谢谢,另外请问废弃 Mac os,把 ubuntu 装入 Macbookpro 后,能否使用雷电接口外接显示器,外接蓝牙键鼠?

Reply to panghuihui

这个版本没有试过外界显示器(不在我住的地方)。但是 Ubuntu20.04 我之前在一台同时代的 PC 上安装过,系统本身对外界显示器是支持的。盲猜应该没问题。着相当于又过去 N 年了,Linux 对老设备的支持还行的。

连接蓝牙 5.0 的耳机偶尔断,但可用。

蓝牙连接手机传数据,可用。

如果是小米鼠标这在带一个免驱接收器的,工作正常我就在用。

真的蓝牙鼠标我手头没有。应该差不多吧。

Reply to Mark24

没看到选择 Wayland 或 X11 啊,这只是协议吧。登录时不是选择桌面吗?unity lxqt

Reply to steve

这样可以看到么?

Ubuntu20.10

@Mark24 看到了,我装了 ubuntu18.04,UI 不太一样

Reply to steve

可能因为 Ubuntu 21.04 尝试默认使用 Wayland

所以 20.10 这种默认加入了 wayland 作为图形 server 收集 bug。

主要是我每次的 ubuntu 都是因为更新挂掉,坚持最久就是 2 年。所以我也无所谓了。一直在用最新的 :D

把数据分区就好了。系统崩了就重装。

wayland 可以尝试,最后还需要 Xorg

wayland 内存确实是会节省一点,但是软件的兼容性不太好。而且在最重要的输入法会出现连击的 BUG,可以在系统设置--辅助里面,关闭掉连按按钮。但是不够好。

wayland 还有待成熟。

录屏工具 obs-studio 在录制屏幕的时候,wayland 下不工作,总是黑屏,因为 wayland 的 composite 缺乏一个输出图像的 api …… 总之吧,还缺失很多的细节。

wayland 的开发人员很少,obs 这个 bug 上 wayland 的解决也不够积极。这是 2018 年提出的问题,到现在也没解决。

看过游戏性能,xorg 和 wayland 差不多。

对稳定性有要求的伙伴,还是建议使用 xorg,日常使用他们在表现上号无差别。虽然在原理上 wayland 应该更胜一筹,但是需要时间沉淀(已经快 10 年了)。

关于主板自带 wifi Broadcom

Broadcom 的无线网卡是很多主板上的选择,他虽然在 Ubuntu 上有闭源驱动,可是表现不尽人意。

wifi 总是工作一段时间断掉,总让人有一种 Linux 很不稳定的感觉。

由于你的任何工作都以来网络所以如果 wifi 频繁的断掉,或者只要休眠,合盖子就会挂掉就很不爽。但是这就是现状。

使用一个月下来,目前他真的是工作状态非常随机。我经常重启是因为丢失 wifi 信号。

尝试解决方案:

1.把 wifi 芯片的节能模式设置为 off,永远不断开就可以工作。

但是这需要芯片支持。结果不行。

小米随身 wifi

整理自己东西的时候,发现了 2016 年买的小米 wifi。那时候以为 Linux 能用,结果在 windows 下还需要安装小米的一个驱动软件。

刚开始想找找驱动,自己编译安装,网上大多数的都是针对 Ubuntu 某个版本的驱动,并且早已实效。

但是很有趣的是发现:

小米随身 wifi, 小度 wifi,360 随身 wifi,他们的方案都一样,都是基于 MTK7601U 这款芯片,对是联发科的。

最好玩的事,当我还在找 驱动的时候,发现 ubuntu 上多出了一个 wifi。

顺这个思路找,原来有外国网友提交了补丁。现在 MTK7601U 这个驱动加入到内核里面了 —— 这玩意变成免驱的了。

小米随身 wifi (MTK7601U)

经过大概四五天的使用,不论是一天开机,隔夜开机,休眠,合盖子。wifi 工作都非常好,唤醒速度非常快,并且热插拔工作。

wifi 的问题莫名其妙解决了。当 wifi 的问题被解决后,系统的直观感受就是稳定多了,没那么多莫名其妙的信号突然丢失,网络突然减速。

后续 踩坑内容系统整理在 https://ruby-china.org/topics/40896

You need to Sign in before reply, if you don't have an account, please Sign up first.