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

2021-01-30 17:45:20 +08:00
 Mark24

背景

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 的配置:

多多少少大家都能搜到。其实这个很有问题—— 这个可能是作为服务器来思考的。有的文章甚至提倡直接下掉 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

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

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

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

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

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

设置 swap 的方法

可以参考 change_swap_size_ubuntu

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

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

补充

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

3587 次点击
所在节点    分享发现
28 条回复
q9OxQg
2021-01-31 14:08:48 +08:00
@2yuansvip 对的。人的有趣程度可以不同,博客也是,但是人都不同,这本身就很有趣,也是生活本态。这就是我现在喜欢用浏览器看气氛不差的 BBS (貌似很过气的东西)多过看 app 的投喂,甚至微信公众号也不够好,他们的问题是追热点,追流量,被审查和自我审查。
lucifer9
2021-02-01 15:08:47 +08:00
Mark24
2021-02-01 23:59:32 +08:00
补充:

登陆的时候,可以选择 Wayland 而非 X11 。 这样图像的速度明显提升。内存的使用也减少了。
wangyongbo
2021-02-05 14:27:37 +08:00
感谢楼主,我的笔记本电脑 ubuntu 18.04 ,8G 物理内存, 用一段时间就会卡死,需要重启。 我把 swap 分区增加到了 8G, 果然好了。
Mark24
2021-02-06 10:44:24 +08:00
@wangyongbo :D 哈哈

确实是有效。
Mark24
2021-02-06 10:44:46 +08:00
# wayland 可以尝试,最后还需要 Xorg

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

wayland 还有待成熟。

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

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

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

对稳定性有要求的伙伴,还是建议使用 xorg,日常使用他们在表现上号无差别。 虽然在原理上 wayland 应该更胜一筹,但是需要时间沉淀(已经快 10 年了)。
Mark24
2021-02-06 10:45:22 +08:00
# 关于主板自带 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 的问题被解决后,系统的直观感受就是稳定多了,没那么多莫名其妙的信号突然丢失,网络突然减速。
Mark24
2021-02-06 16:04:21 +08:00
后续的内容,系统整理更新在

https://www.v2ex.com/t/751846#reply0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/749873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX