Chris Hoffman

Ubuntu的启动速度非常快,按了开机键之后很快就进入桌面。但我们仍然可以充分利用内存,通过多种方法让开机速度更快。某些方法真的可以提速,对于旧电脑的效果尤其明显。

选用轻量级的桌面环境,关闭不必要的应用程序,可以让一台旧电脑如释重负。如果强行在旧电脑上运行Ubuntu的Unity桌面环境,系统的速度会拖得很慢很慢。

预载(Peload

预载是一个后台服务,可监控系统上使用的程序。它能找出程序使用的库(libraries)和二进制文件(binaries),预先加载到内存中,使程序的启动速度更快。例如,你可能经常在开机后打开Firefox浏览器和LibreOffice,那么设置了预载之后,系统在启动时会自动把这两个程序的文件加载到内存中。你再登陆系统打开这两个程序时,会发现它们比以前启动得更快。

大多数Ubuntu系统在默认情况下都没有启用预载,只有少数版本安装了这项服务。运行以下命令可以安装预载服务:

Sudo apt-get install preload

这样就装好了!预载服务会在后台运行,不会打扰你的工作。你可以在 /etc/preload.conf 文件中修改预载的设置,但一般情况下使用默认设置就可以了。

设置随机启动程序

你可以让某些程序在系统开机时随机启动。某些程序安装好之后也会默认随机启动——例如Dropbox。如果随机启动的程序很多,或者你的系统比较慢,那么你的系统就要花更多时间来启动。你可以在随机启动程序对话框(Startup Applications dialog)中禁止某些程序的随机启动。

很多默认启动的系统服务没有显示在列表当中。运行下面的命令,可以对这些服务进行设置:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop

这个命令修改了随机启动服务的文件属性,把参数“NoDisplay”的值由“true”改为“false”,让这项服务显示在随机启动的列表当中。运行了命令之后,重新打开随机启动程序对话框,你就能看到之前被隐藏的系统服务了。

除非你这些系统服务是干什么的,否则不要更改默认的启动设置。例如,如果你电脑没有蓝牙设备,那么可以禁止蓝牙管理器的随机启动;如果你使用Ubuntu One服务,就不要禁止它随机启动。

你只需要去掉程序前面的打钩,就可以禁止该程序随机启动了。不要点击Remove,那会从系统上删除该程序的。如果你想让程序恢复随机启动,在前面打钩就可以了。

使用轻量级的桌面环境

如果你的电脑配置比较旧,运行Ubuntu的Unity桌面比较吃力,可以选一款轻量级的桌面环境。LXDE、XFCE都是很好的选择,如果你需要的是最简洁的桌面,可以用Xmonad。这些桌面环境都能保证最基本的桌面功能。

选用轻量级的应用程序

轻量级的应用程序和轻量级的桌面环境搭配起来,能进一步提升旧电脑的系统性能。例如,你可以用Abiword代替LibreOffice,Abiword虽然功能少些,但速度更快。

如果你使用Mozilla的Thunderbird或GNOME的Evolution收发邮件,可以试试Sylpheed,它是一个轻量级的邮件管理器,带有图形界面。大多数软件都能找到轻量级的替代选择,在Google搜索一下就能找到。你甚至可以关闭所有图形界面,用终端完成所有操作——你会找到很多基于终端界面运行的软件。

缩短启动菜单的延时

如果你电脑装了多个系统,Ubuntu的GRUB启动菜单会预留10秒的延时让你选择一个系统。如果你没有选择,10秒后会自动进入默认的系统。如果你通常都是进入默认系统,可以把延时缩短,节省开机时间。

运行下面的命令,在文本编辑器中打开 /etc/default/grub 文件,可以修改启动延时:

gksu gedit /etc/default/grub

把GRUB_TIMEOUT的值改为小于10的整数。可以设为最小值1,以后如果你开机时需要选择启动菜单,可以按上下方向键或Esc键。

保存修改好的文件,运行下面的命令更新启动菜单,才能完成设置:

sudo update-grub2

你还可以使用软件Grub-Customizer,能够修改启动菜单的详细设置。

调整交换分区的参数值(swappiness

这个方法是有争议的。应该把swappiness设为多少才最合适,Linux内核的开发者对此存在不同的看法

swappiness影响着Linux内核的运行速度——也就是说,swappiness的值越大,从内存转移到硬盘交换分区的数据就越多,但系统性能会相对降低。Swappiness的值可以从0到100。

  • 0表示系统内核最大限度地使用物理内存运行程序,尽量不使用交换分区。

  • 100表示系统内核最大限度地利用交换分区运行程序,尽量减轻内存的负担。

Ubuntu系统把swappiness参数默认设为60。如果你发现Ubuntu系统过多地使用交换分区,降低了系统性能,你可以调低swappiness的数值,比如降到10。

下面的命令可以临时把swappiness的值改为10:

sudo sysctl vm.swappiness=10

但是下次重启系统后,swappiness又会恢复为默认值。如果你不想恢复默认,可以修改/etc/sysctl.conf文件:

gksu gedit /etc/sysctl.conf

打开文件,找到vm.swappiness,修改它的数值。如果找不到,可以在文件末尾添加一行命令,格式如下:

vm.swappiness=10

最后保存修改即可。

————————————————————

现在你的Ubuntu系统提速了吗?你有没有找到一个合适的swappiness值?可以在下面留言告诉我们。

六招让你的Ubuntu马上提速的更多相关文章

  1. 苹果教你六招:设计优秀的icon

    在iOS 7测试版发布后,网上开始出现大量关于iOS 7设计的资源.在WWDC期间,苹果曾为开发者举办了多场主题演讲,其中有一场是苹果UX布道师Mike Stern的精彩演讲-- 优秀iOS设计最佳实 ...

  2. Android常见内存泄露,学会这六招优化APP性能

    很多开发者都知道,在面试的时候会经常被问到内存泄露和内存溢出的问题. 1.内存溢出(Out Of Memory,简称 OOM),通俗理解就是内存不够,即内存占用超出内存的空间大小. 2.内存泄漏(Me ...

  3. 六招轻松搞定你的CentOS系统安全加固

    Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了.我们要如何为这类服务器做好安全加固工作呢?  一.  账户安全 1.1 锁定系统中多余的自建帐号 检查方 ...

  4. Ubuntu Bonding(16.04网卡绑定)

    UbuntuBonding(网卡绑定) 绑定,也称为端口聚合或链路聚合,意味着将多个网络接口(NIC)组合到单个链路,从而提供高可用性,负载平衡,最大吞吐量或这些组合.注意bonding只能提供链路监 ...

  5. Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)

    访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近 ...

  6. iOS8:把这些七招APP哭

    6月3日.苹果发布了新一代的高配置手机操作系统iOS 8,我们看到了很多新的功能和引人注目的新变化.它为开发人员提供了许多其他更酷能力发展.第三方输入法也开放,这使得国内的百度.搜狗输入法是不过高兴的 ...

  7. 一张图11招学会Python网络黑客

    全部学起来: 第一招:搭建Python防范环境 第二招:扫描漏洞 第三招:暴力破解的秘密 第四招:防SQL注入 第五招:防命令注入 第六招:看清文件上传木马 第七招:看清Web攻击 第八招:利用Pyt ...

  8. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...

  9. Other | 十招教你找到海量PPT模板

    转载自:https://www.douban.com/note/330962457/ 问:PPT模板是什么含义? 答: 先假定你们要的是这种网上到处泛滥成灾的主题PPT吧,下面请耐心看到最后,秋叶老师 ...

随机推荐

  1. Http请求处理流程 管道流程 MVC扩展HttpModule

    HttpApplication  封装了管道处理请求的所有事件 HttpModule 对HttpApplication中事件的扩展 HttpHandler   处理程序  每个请求都要经过Handle ...

  2. MVC路由 路由的三种扩展 替换MVC内置的Handler

    Global.asax 是 程序入口文件 路由配置   为什么localhost:8088/Home/Index/1 能返问到我们写的 会去掉前缀跟端口号  变成Home/Index/1 用这个跟路由 ...

  3. Centos 7系统挂载NTFS格式移动硬盘

    有些时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NT ...

  4. 学习笔记31—endnote设置

    修改文献引用设置: JournalArticle: Author. (Year). Title. [Translated Title]. [Reviewed Item]. Journal|, Volu ...

  5. C#通过 “枚举数支持在指定类型的集合上进行简单迭代” 的概念获取List的一种方式

    using System; using System.Collections.Generic; using System.Linq; namespace myMethod { class Animal ...

  6. Asp.net core 学习笔记 ( User Secrets )

    参考 : http://cnblogs.com/nianming/p/7068253.html https://docs.microsoft.com/en-us/aspnet/core/securit ...

  7. Entity Framework 学习

    Entity Framework 学习初级篇1--EF基本概况 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry. ...

  8. 搭建智能合约开发环境Remix IDE及使用

    目前开发智能的IDE, 首推还是Remix, 而Remix官网, 总是由于各种各样的(网络)原因无法使用,本文就来介绍一下如何在本地搭建智能合约开发环境remix-ide并介绍Remix的使用. 写在 ...

  9. Confluence 6 指派空间权限概念

    如果你是一个空间的管理员,你可以对空间的使用权限进行控制.你可以为独立用户或者Confluence Groups的权限进行权限的指派/收回. Confluence 管理员可以将用户分配到用户组中,这样 ...

  10. 反射API(二)

    <?php /** * 需求: * 创建一个类来动态调用Module对象, * 即该类可以自由加载第三方插件并集成进已有的系统,而不需要把第三方的代码硬编码进原有的代码. */ class Pe ...