最近我在学习的工程中将我的 Ubuntu 18.04 操作系统做了一次彻底的优化和美化。为什么要美化和优化呢?美化是为了让自己吃饭的工具看起来漂亮,毕竟每天都要使用的;优化当然是让系统的运行工作得更好。现在我在我在虚拟机中重新安装了 Ubuntu 18.04 desktop 操作系统,准备把整个美化的过程记录下来。
1. 安装操作系统
参考:
Ubuntu Desktop 物理机安装2. Ubuntu 18.04 桌面主题美化###
参考:
史上最良心的 Ubuntu desktop 美化优化指导(1)3. Ubuntu 18.04 系统优化
Ubuntu 18.04 在进行系统优化的时候,不建议过度优化,过度优化只会适得其反,如果是笔记本安装 Ubuntu 18.04 系统,那主要关注固态硬盘的优化和笔记本电池的优化就可以了。
3.1. 固态硬盘优化
tip:如果你的硬盘不是固态硬盘就不要搞这个优化了。
- 我们平时使用操作系统的过程中,频繁的对固态硬盘进行写操作会对固态硬盘造成损耗,所以我们优化的原则就是减少操作系统对 SSD 的写操作。
现在许多固态硬盘在出厂的时候就预留了一部分空间,大约是容量的 1/4 来禁止用户访问,这样做的好处是将这部分空间不进行空间分配,提高固态硬盘的性能和寿命,至于原因这里就不多说了,和固态硬盘的特性有关,感兴趣的朋友可以去找相关资料学习。如果你的固态硬盘买得比较早,那就保留 10G 的空间不要分配就可以了。
- 使用 ext4 文件系统
- 禁用读文件时对访问时间戳的写操作。 我们在读取硬盘文件的时候,会导致文件的访问时间改变,这里会产生一个写操作,我们可以通过修改相应的参数将这个写操作集中到一个时间一次性写,这样就能减少写时间戳的操作,具体做法是修改
/etc/fstab
文件,如下图,在每个硬盘分区的第四列加入noatime,
。修改这个文件需要 sudo 到 root 权限,修改保存后重启生效。
![8c13eabcb04509f0300ddfbf4733fc58.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ac0ade1db62a1956ac2606e6aee5a92e.jpeg)
- 使用 TRIM 定期清理硬盘(如果不清理,系统会越来越慢) 首先要查看自己的电脑是否支持 TRIM,如果不支持就别做如下操作了。
查看是否支持的命令是:sudo hdparm -I /dev/sda | grep TRIM
,如果输入结果和下面差不多,能找到 supported
字样,那说明是支持的。
eg@ubuntu:~$ sudo hdparm -I /dev/sda | grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
eg@ubuntu:~$
也可以通过命令:sudo systemctl status fstrim.service
查看 fstrim 服务是不是处于 active 状态来确定是否支持,如下图是支持的时候的截图。
![e66ae0aeb4c1e1e44ff17d2c75ce18ea.jpeg](https://i-blog.csdnimg.cn/blog_migrate/4e2e23902c3b07e0f8bb7c3ec3d30ed9.jpeg)
- 手动清理
sudo fstrim -v /
,最后的/
用你自己的硬盘分区的挂在目录代替,比如我除了/
分区还有/back
分区,我就还需要执行sudo fstrim -v /back
。 - 每天自动清理 每天自动清理需要修改一些配置文件,如下:
sudo mkdir -v /etc/systemd/system/fstrim.timer.d
vim /etc/systemd/system/fstrim.timer.d/override.conf
,输入:
[Timer]
OnCalendar=
OnCalendar=daily
3.2. 安装安全补丁
sudo apt install intel-microcode
3.3. 减少 swap 使用
关于 swap 的使用和作用,这里部介绍了,为了提高系统性能,我们可以通过减少对 swap 的使用,具体做法就是当内存资源少于一个给定的值后才使用 swap。
- 系统有个默认的比例,可以通过:
cat /proc/sys/vm/swappiness
命令查看,结果是一个整数,默认是 60,也就是说当内存不做 60 % 的时候就会开始使用 swap,我们把这个比例改成 10%。sudo vim /etc/sysctl.conf
编辑这个文件,找到vm.swappiness=
,将数值改成 10,如果没有这一行就新建,如下图。
![399ac266acc73e928eb393484fddf97a.jpeg](https://i-blog.csdnimg.cn/blog_migrate/016270fd75e60d83e197a5ed0ffcfb0f.jpeg)
3.4. 减少硬盘写操作
程序执行相应操作后,需要写入硬盘的数据要写入硬盘后才进行下一步操作,如果能够在数据存到缓存中的时候就开始接下来的操作,那程序的性能将大大提高,这其实也是可以做到的,不过如果遇到突然断电等事件的时候,我们的数据就会丢失,所以这个优化项自行决定是否需要优化。
打开 disk 工具,如下图:
![b9c9ef0210ecaad4aab59de8b0ebc13c.jpeg](https://i-blog.csdnimg.cn/blog_migrate/bd9178625625ca0b9ded71974e99c8e6.jpeg)
点击右上角的红色框住的图标,然后选择 Drive Settings,然后打开上图中的开关即可。
3.5. 限制 Firefox 浏览器写磁盘
将 Firefox 网络缓存写入 RAM,而不是写入硬盘,内存不足 2G 的就建议别这样做了。具体做法如下:
- 打开 Firefox 浏览器,在地址栏输入:
about:config
回车,如下图,点击接受按钮
![d93a0f31d0c6ab97591d11205f2ac5be.jpeg](https://i-blog.csdnimg.cn/blog_migrate/41e39c01995b52595a53020b8999ac25.jpeg)
- 搜索:
browser.cache.disk.enable
,将其改成 false(双击即可改变,如下图)
![81eaf40325d445b5bd7883ba972cebcd.jpeg](https://i-blog.csdnimg.cn/blog_migrate/cab847bffb3fcb3c04d0bcfe7ea892d6.jpeg)
- 搜索:
browser.cache.memory.enable
,将其改成 true - 将鼠标放在搜索框外,右击,选择 new->integer->在下图输入框中输入:
browser.cache.memory.capacity
,点击 ok,然后输入:204800
![29ffb532935115df63d3d4d7f895f821.jpeg](https://i-blog.csdnimg.cn/blog_migrate/e5a2716e98ed2fa4bc1efbfe8f35e5a2.jpeg)
- Firefox 意外崩溃的时候会导致大量的写硬盘操作,我们可以通过禁用:
browser.sessionstore.interval
来实现,将其数值改成 15000000 即可。 - Firefox 会周期性的访问网络:
http://detectportal.firefox.com/success.txt
,需要将其禁用。network.captive-portal-service.enabled
,将其改成 false 即可。
3.6. 修改调度程序
默认情况下 Ubuntu 使用 CFQ 作为 I/O 调度器,但是这个默认设置对 SSD 硬盘没有效果,如果我们使用的是 SSD 硬盘,那需要进行修改,修改步骤如下。
cat /sys/block/sda/queue/scheduler
可以查看系统默认使用的什么调度策略。gedit admin:///etc/default/grub
,找到GRUB_CMDLINE_LINUX_DEFAULT
,将其值改成:"elevator=dadline quiet splash"
。sudo update-grub
3.7. 删除不必要的开机启动项
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
3.8. 优化笔记本电池
这个有现成的工具可用,不必手动优化,只需要安装工具即可,安装步骤如下:
sudo apt install tlp tlp-rdw
sudo tlp start
sudo tlp stat
这个命令可以查看电池状态。