史上最良心的 Ubuntu desktop 美化优化指导(2)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最良心的 Ubuntu desktop 美化优化指导(2)相关的知识,希望对你有一定的参考价值。
参考技术A 最近我在学习的工程中将我的 Ubuntu 18.04 操作系统做了一次彻底的优化和美化。为什么要美化和优化呢?美化是为了让自己吃饭的工具看起来漂亮,毕竟每天都要使用的;优化当然是让系统的运行工作得更好。现在我在我在虚拟机中重新安装了 Ubuntu 18.04 desktop 操作系统,准备把整个美化的过程记录下来。参考: 史上最良心的 Ubuntu desktop 美化优化指导(1)
参考: 史上最良心的 Ubuntu desktop 美化优化指导(1)
Ubuntu 18.04 在进行系统优化的时候,不建议过度优化,过度优化只会适得其反,如果是笔记本安装 Ubuntu 18.04 系统,那主要关注固态硬盘的优化和笔记本电池的优化就可以了。
tip:如果你的硬盘不是固态硬盘就不要搞这个优化了。
现在许多固态硬盘在出厂的时候就预留了一部分空间,大约是容量的 1/4 来禁止用户访问,这样做的好处是将这部分空间不进行空间分配,提高固态硬盘的性能和寿命,至于原因这里就不多说了,和固态硬盘的特性有关,感兴趣的朋友可以去找相关资料学习。如果你的固态硬盘买得比较早,那就保留 10G 的空间不要分配就可以了。
查看是否支持的命令是: sudo hdparm -I /dev/sda | grep TRIM ,如果输入结果和下面差不多,能找到 supported 字样,那说明是支持的。
也可以通过命令: sudo systemctl status fstrim.service 查看 fstrim 服务是不是处于 active 状态来确定是否支持,如下图是支持的时候的截图。
sudo mkdir -v /etc/systemd/system/fstrim.timer.d
vim /etc/systemd/system/fstrim.timer.d/override.conf ,输入:
sudo apt install intel-microcode
关于 swap 的使用和作用,这里部介绍了,为了提高系统性能,我们可以通过减少对 swap 的使用,具体做法就是当内存资源少于一个给定的值后才使用 swap。
程序执行相应操作后,需要写入硬盘的数据要写入硬盘后才进行下一步操作,如果能够在数据存到缓存中的时候就开始接下来的操作,那程序的性能将大大提高,这其实也是可以做到的,不过如果遇到突然断电等事件的时候,我们的数据就会丢失,所以这个优化项自行决定是否需要优化。
打开 disk 工具,如下图:
点击右上角的红色框住的图标,然后选择 Drive Settings,然后打开上图中的开关即可。
将 Firefox 网络缓存写入 RAM,而不是写入硬盘,内存不足 2G 的就建议别这样做了。具体做法如下:
默认情况下 Ubuntu 使用 CFQ 作为 I/O 调度器,但是这个默认设置对 SSD 硬盘没有效果,如果我们使用的是 SSD 硬盘,那需要进行修改,修改步骤如下。
这个有现成的工具可用,不必手动优化,只需要安装工具即可,安装步骤如下:
冒泡排序史上最经典的实现
冒泡排序概念讲解
简单点说,冒泡排序就是将大的数通过一步步比较放在右边,将小的数一步步放在左边。
代码实现
本代码不是最优代码,但是肯定是最容易理解的代码
- 双层循环法
var arry = [44, 3, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48]
const bubblesort = function (arr)
//第一次需要排15个元素,第二次需要排序14个元素,所以从15个元素慢慢递减 15 14 ...
for (var i = arr.length; i > 0; i--)
//确定好需要排序的元素之后,就从0开始相邻两个元素之间进行比较排序,
//之所以是 i-2 是因为避免数组越界,i-1表示数组最后一个元素,由于你需要前后交换,所以多减了一个
for (var j = 0; j < i - 2; j++)
if(arr[j] > arr[j+1])
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
bubblesort(arry)
console.log(arry)
- 递归法
var arry = [44, 3, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48]
const bubbleSort2 = function (arr, len)
if (len <= 0) return
for (var i = 0; i < len - 2; i++)
if (arr[i] > arr[i + 1])
var temp = arr[i + 1];
arr[i + 1] = arr[i];
arr[i] = temp;
bubbleSort2(arr, len - 1)
bubbleSort2(arry, arry.length)
console.log(arry)
其实两个算法的本质是一样的,其核心思想就是反复对元素进行排序,直到所有元素都排了一遍。
其中最容易犯错的就是数组元素边界问题,这个只能大家自己根据我的描述多揣摩。
运行效果
以上是关于史上最良心的 Ubuntu desktop 美化优化指导(2)的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu零基础教学-史上最详Ubuntu20.04安装教程,超级详细,强烈建议收藏!