如何提高Ubuntu的整体系统性能?

339

有哪些提示可以提高ubuntu的整体系统性能?受到这个问题的启发,我意识到Ubuntu上的某些默认设置可能相当保守,并且可以在很少或没有风险的情况下进行调整如果你想让它更快。

这并不是特定于应用程序(例如,使firefox加载页面更快),而是系统范围。

每个答案最好有1个提示,并且有足够的细节供人们实施。

我的几个人将是:

  • 安装预加载(通过软件中心)或 sudo apt-get install preload );
  • 更改 Swappiness 值 - “它控制内核在尝试释放内存时更喜欢交换的程度” ;

你的是什么?

PS:由于这不是一个独特的答案,而是一些有用的提示,我正在开发这个社区维基。

    
Decio Lira 13.04.2017 - 14:24

41 答案

176

如果你是“普通的乔”,那就不要做任何事情。不要弄乱您不理解的程序或设置。不要按照互联网上发布的提示,通过自己编译某些软件或安装自制内核来提高系统性能。

其中一些提示可能会给您带来轻微的性能提升,但如果您更改了错误的设置,禁用了错误的服务,安装了错误的驱动程序等,其中一些技巧也会给您带来真正的麻烦。

因此,对您运行良好的系统感到高兴。顺便说一句:为什么你需要这5%的性能改进?它不会导致更快地输入您的办公室文档或在一半的时间内编辑您的假日照片。

而且要明确一点:如果你不是普通的Joe,而是一个开发人员/硬核游戏玩家/ ......需要你可以获得的任何周期,你不是这个评论的目标...

    
给出答案 Bananeweizen 20.08.2010 - 21:14
100

禁用自动启动任何不需要的服务(甚至完全删除包)。

许多软件包会自动启动服务。然后这些服务使用内存和CPU,即使它们几乎不被使用。在这种情况下,最好停止这些服务,或者将它们从自动启动中取出,并在需要时启动它们。

要从10.04开始删除应用程序,请转到系统>偏好>启动应用程序(在其他版本上可能略有不同)

在12.04,您可以通过单击短划线图标。然后,键入startup并选择“启动应用程序”。






只需取消标记您不需要的应用程序。但是确定关于它,不要只删除你不知道的应用程序。如果你不确定,请保持这种状态。关于特定程序的谷歌搜索或新问题将有所帮助。

    
给出答案 Decio Lira 13.04.2017 - 14:25
73
%bl0ck_qu0te%

Tushar Neupaney 提供此建议这里

1。使用较轻的应用程序(用它们替换默认应用程序)

  • Gedit>>鼠标垫
  • 图片浏览器(EOG ...)>> Gpicview
  • 网络管理员>> WICD
  • Evince>> epdfview

2。减少闷热

  • sudo vim /etc/sysctl.conf

    编辑:vm.swappiness = 10

3。对于双核(使用并发)

  • sudo vim /etc/init.d/rc

    编辑:CONCURRENCY = shell

    shell 选项现已过时。默认值为 makefile shell 是2010-05-14 makefile 的别名。

4。在/etc/apt/sources.list中清除/ var / cache / apt / archives中的apt缓存和不必要的apt-sources列表

  • sudo apt-get autoclean

5。安装BUM(启动管理器)

  • sudo apt-get install bum

    从启动中删除不必要的应用程序和服务

6。删除一些不必要的TTY

  • sudo vim /etc/default/console-setup

    编辑:ACTIVE_CONSOLES =“/ dev / tty [1-3]”

    注意:转到 /etc/init/ 并更改 想要的tty文件。编辑它们并以“start on runlevel”开头的注释行。因此,在这种情况下,您将把“tty4.conf”中的起始行注释为“tty6.conf”文件。

7。安装预链接

  • sudo apt-get install prelink
  • sudo vim /etc/default/prelink

    编辑:PRELINKING =是

  • sudo /etc/cron.daily/prelink

    实际上,自Feisty Fawn以来,Prelink已经无用(因为Ubuntu现在使用非常有效的运行时链接器)。此外,它是侵入性的 - 它直接修改可执行文件,最终可以打破它们。 不要这样做。

8。安装预加载

  • sudo apt-get install preload

9。如果你不使用休眠和睡眠功能,请摆脱kinit。

  • sudo vim /etc/initramfs-tools/conf.d/resume

    编辑:评论(把#放在前面)RESUME = XXXX ........................。

给出答案 desgua 13.09.2013 - 17:57
42

减少启动加载程序菜单超时

听起来微不足道,但我发现Ubuntu的默认10秒对我的口味来说太长了。说我的屏幕有点自动调整res,我看到计数器第一眼看到8秒。

我会将超时编辑为3秒,让我看一下启动菜单(考虑我的屏幕调整到res的时间)。很多时候,按箭头键选择另一个项目会停止计数器。

Grub (9.10 Karmic之前)

sudo -i gedit /boot/grub/menu.lst

查找并修改“ TIMEOUT ”行

Grub 2 (新安装的9.10 Karmic及其后)

sudo -i gedit /etc/default/grub

查找并修改“ GRUB_TIMEOUT ”行,然后运行 sudo update-grub

    
给出答案 invert 09.05.2015 - 16:02
31

我添加了“后,我的整体性能得到了提升noatime “我的文件系统选项(ext4和reiserfs)。

我无法提供速度测试,但我邀请您试一试,亲眼看看。

Ubuntu论坛的有用资源:在fstab中使用noatime保存硬盘

    
给出答案 dag729 22.08.2010 - 22:44
31

如果您缺少内存,请使用 zramswap 或%来自Ubuntu repos的co_de%。它是虚拟交换,压缩未使用的RAM内容而不是将它们放到磁盘上(通常在你触及RAM屏障后冻结系统)。每次用完RAM时,我都没有遇到任何性能损失而不是系统冻结。

这仅适用于Natty及以上(因为您需要内核2.6.37.1或更新版本)。对于较旧的系统,您可以使用 compcache ,但你必须手动设置它。

对于那些从未达到RAM限制的人来说,无论如何都能提高HDD系统的速度,但你最好减少swappiness 以达到同样的效果。

SSD用户:很可能你不会遇到任何速度提升,但是zramswap可以减少SSD的磨损。

    
给出答案 Shnatsel 13.04.2017 - 14:23
20

我不确定我的答案是否合格,因为Ubuntu通常意味着使用更轻的替代品的GNOME和Ubuntu变体具有略微不同的名称,如Xubuntu。

摆脱GNOME是我通常建议的第一件事。如果你对像fluxbox这样的轻量级产品感到满意,那就去做吧。

    
给出答案 vh1 21.08.2010 - 13:51
20

更改SSD的机械磁盘

现在几乎每台计算机上的固态驱动器都要快得多,而且似乎是瓶颈中最多的。

我,其中一个,开机时间从约15秒减少到约3秒,并且首次启动应用程序(Firefox,例如,从约5秒到不到一秒)大幅减少。

想要一些基准? 此处是其中之一。

    
给出答案 desgua 01.04.2013 - 14:32
18

vm.swappiness=10 中设置 /etc/sysctl.conf 。当我填满记忆时,我得到了明显的速度提升。由于我大部分时间都在使用Eclipse,因此物理内存可能会成为稀疏商品。

编辑:

来自 Ubuntu Swap FAQ

“Ubuntu中的默认设置是swappiness = 60.减少swappiness的默认值可能会提高典型Ubuntu桌面安装的整体性能。建议使用swappiness值= 10 ,但感觉注意:Ubuntu服务器安装对桌面系统有不同的性能要求,默认值60可能更合适。“

关于交换是什么,如何使用以及如何更改它,常见问题解答非常完整。推荐阅读任何想要修补swappiness或磁盘上交换文件大小的人。

    
给出答案 Decio Lira 07.02.2012 - 04:42
16

听起来很傻,总是更新你的系统!

    
给出答案 Derek 26.08.2010 - 03:20
15

在我拥有的一台Ubuntu机器上,我发现将桌面效果设置为无(禁用所有图形效果)可以大大提高UI速度。

    
给出答案 Skizz 21.08.2010 - 01:18
15

将/ tmp目录放入ram磁盘

链接

    
给出答案 Bigwave 20.03.2017 - 11:18
11

调整ext4以获得最大烟雾

启用回写模式。此模式通常会提供最佳的ext4性能。请注意,它以可靠性为代价,因为它禁用了写入数据的日记功能。在将元数据提交到日志之后,可以将数据写入主文件系统。因此,在崩溃和日志恢复后,旧数据可能会出现在文件中。

tune2fs -o journal_data_writeback /dev/sdXX

# Check fs options
dumpe2fs /dev/sdXX |more

kernel.org上的文档

%bl0ck_qu0te%

更多烟雾

要挤出更多性能,请添加 fstab 选项: data=writeback,noatime,nodiratime

即,编辑你的 /etc/fstab 找到驱动器的UUID并添加/替换现有选项

/dev/sdXX /opt ext4 defaults,data=writeback,noatime,nodiratime 0 0

确保在编辑fstab文件之前和重启之前已使用tune2fs打开写回模式。我之前说过,因为我在改变了我的fstab之后重新启动了但是在我打开写回模式并且开启了我的启动之前。什么都没有丢失,但我不得不使用现场CD获取访问权限并更改我的fstab。如果您在非启动驱动器上启用首先测试,则更安全。

启动和关闭以及日常使用的速度都有很大提高。

您还可以关闭日志模式,这将提供额外的提升,为了增加安全性,请确保您已连接UPS并正常工作,因为关闭这些功能您的数据并不安全,因为我说我的系统没有有UPS,它的电源至少中断了三次,我没有数据丢失,但你的里程可能会有所不同。

    
给出答案 Derek Brabrook 16.04.2016 - 07:54
10

购买尽可能多的内存,机器可以容纳。

    
给出答案 Thorbjørn Ravn Andersen 26.08.2010 - 00:36
9

以下仅供专家使用。顾名思义,它可以并且将会占用您的数据,即使您非常小心。

eatmydata 是一个可以关闭fsync的drop包。 Fsync是一种系统操作,可确保在继续之前将数据写入磁盘。通常您需要这样,因为它可以更容易,更快速地减少数据丢失,从而使断电和故障恢复。它虽然有代价;任何调用fsycn的东西都必须等待它排队,而不是简单地将数据传递给内核以便稍后写入。在一些甚至许多文件系统中,fsync会写出所有数据,而不仅仅是你想要保护的东西。

在某些特定情况下,fsync不值得花费。想象一下,你有一个服务器,该数字可以处理大量数据。将其指向一个实时数据库,而不是转储到一致的本地数据库,安装eatmydata以关闭fsync,然后放手。这仍然可以崩溃并丢失数据,但由于它不是任何东西的唯一副本,因此您可以从头开始重新启动该过程。或者,例如,Ubuntu的构建服务器,我们关心的是最终生成的包。或者,在桌面端,如果某个程序(如Firefox)正在同步,那么整个系统的速度就会降低。只是准备好丢失与使用此相关的所有数据,否则将面临可怕的后果。

    
给出答案 jldugger 23.12.2010 - 20:47
6

关闭未经常使用的应用程序。

许多标准应用程序在后台运行时会占用大量内存,通常还会占用CPU。 Web浏览器,电子邮件客户端等在内存使用方面效率非常低,嵌入的javascripts经常使用CPU时间而对用户没有任何好处。

仅运行当前使用的应用程序,系统将更快。此外,停止应用程序是释放内存泄漏中丢失内存的唯一方法。

在快速运行的系统上启动应用程序通常比在过载和慢速系统上切换窗口要少。

    
给出答案 txwikinger 13.08.2010 - 19:16
6
  1. 使用 JFS 文件系统。这是坚如磐石。它具有最低的CPU使用率和非常好的整体性能。

  2. 设置vm.vfs_cache_pressure。这是我的/etc/sysctl.d/10-desktop-responsiveness

    [在注释行前面加上#,此网页界面不喜欢它们......]

    这些设置可提高典型桌面工作负载的响应速度。

  3. vm.swappiness指示linux内核支持应用程序代码 当这两个人竞争RAM时会缓存。

    vm.vfs_cache_pressure控制inode / dentry(即文件系统)缓存与  其他缓存,即我们希望尽可能将文件系统元数据保存在RAM中。

    来自:链接

    vm.swappiness=15
    
    vm.vfs_cache_pressure=50
    
        
给出答案 paul 18.05.2013 - 19:29
6

Unity往往有点资源匮乏,但我很惊讶地发现即使在Unity2D下你也遇到了同样糟糕的表现。一种可能的解决方案是使用其他更轻量级的桌面环境,例如Lubuntu(LXDE)或Xubuntu(XFCE)。我认为你会发现整体响应能力和表现有很大差异。

此外,您可以尝试进入启动应用程序管理器并取消选中您不需要Ubuntu在登录时自动启动的应用程序和进程(例如,如果您没有蓝牙,则为蓝牙管理器,如果您没有,则为UbuntuOne)使用它,您根本不使用的程序等。)在此之前,首先在启动管理器中显示隐藏的启动应用程序:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
    
给出答案 mblasco 29.08.2012 - 20:42
5

配置交换

第1部分。设置swappiness。这个可以按照degusa的答案,但它可能是相反的,并且它会产生更多的效果。

我们中的一些人很高兴参与的一个场景是我们有足够的RAM。一般来说,我们只占内核和应用程序直接使用的一小部分,有些(如果你使用其他调整来提高性能,例如在内存中挂载/ tmp),那么ramfs和tmpfs会使用它们, gigs和gigs被用作磁盘缓存,以使我们的文件访问速度更快。

在这种情况下,一旦包括缓存在内的总使用内存变高,并且应用程序需要更多RAM,linux必须决定是从文件系统中获取一些缓存,还是换出交换分区/文件。

由于我们拥有大量的内存,而且很可能只对交换感到困扰,因此我们可以启用休眠,我们希望它倾向于采用一些大量的缓存,因此需要低吞吐量。如果我们不关心能够休眠,我们甚至可能会发现这样的高RAM机器根本不需要交换。

另一种情况是RAM较低的人在几个繁重的应用程序之间切换并在每个应用程序上花费合理的时间。想象一下,也许是一个网络开发人员花了一些时间在他们的IDE上,一些在图形编辑器上,一些在他们选择的浏览器上,一些在其他浏览器上检查兼容性问题,可能每小时在他们的邮件客户端上花费5分钟。它们也可能通过读写反复访问相同的文件,因此可以从文件缓存中获益。这个人可能会受益于Linux更渴望换掉他们目前没有活动的那些重型应用程序所使用的内存,因此对他们而言应该更高的可能性。

对他们来说,最好的设置不仅可能高于最常见的建议,而且他们可能会注意到这一点,而不是那些总是有乐意去做的人。

第2部分。优先级和优先级分区数。

每个交换分区都有一个优先级,linux将使用最高优先级。如果没有在/ etc / fstab中设置,它将被视为负数,从-1开始(显式设置在0到32767之间,因此-1低于任何明确设置)并在fstab中按顺序继续到-2, - 3等等。

最佳设置取决于分区的物理位置。如果你只有一个,那就没关系(但也许你应该有一个以上,所以请继续阅读)。

如果你在同一个物理驱动器上有两个或更多,那么它们应该有不同的优先级,这样它就不会尝试使用需要在它们之间寻找的两个分区(有人知道这是否会被自动避免?)。默认值很好。无论如何在同一个驱动器上进行两次交换可能不是一个好主意,但是如果你创建一个然后决定你以后需要更多交换(可能是在增加更多内存)时就会发生这种情况。

如果您在两个或更多速度大致相同的物理驱动器上有两个或更多个,那么将它们设置为相同的优先级将意味着Linux将同时使用它们,这提供了更好的性能,原因类似于为什么RAID或只是确保两个驱动器上都有经常使用的文件 - 工作会在它们之间分开。

如果您有两个或更多速度相同的物理驱动器,但只能在一个上进行交换,那么由于上述原因,您可能应该更改它。

如果您有两个或更多物理驱动器,速度差别很大,那么通常您希望最快的驱动器具有比较慢的驱动器更高的优先级,因此首先使用它。你可能甚至不希望在较慢的情况下进行任何交换,尽管如果你这样做可能有意义。在快速交换的快速但小的驱动器上有一个小的交换,在较慢的驱动器上有一个较大的交换,所以你有足够的空间来休眠。

如果两者中较快的是SSD,那么有两种不同的优点和缺点:

  1. 最高优先级,或者可能只是交换SSD,以提高速度。
  2. 仅交换非SSD,以减少SSD上的写入,从而延长其使用寿命。
  3. 如果你真的只有交换以允许休眠,那么2号可能是最好的,否则你的大量内存意味着你并不真正需要它(如果你在SSD上花钱,你应该花钱它也在RAM上)除非你是一个启动速度狂热者想要以一种速度启动从休眠状态启动,这将显示你的高端规格装备!否则,余额就是速度与SSD寿命的关系。

    如果您的驱动器仅用于交换,以便不与其他文件I / O竞争,那么您可能是性能的核心,并且已经比我更了解这些东西,并且只是阅读本文以查看如果我有什么不对劲的话!

        
给出答案 Jon Hanna 30.07.2012 - 15:16
5

如果您想了解在Ubuntu 10.04上启动后启动的服务,请运行“jobs-admin”。

sudo apt-get install jobs-admin
    
给出答案 janot 04.03.2015 - 02:11
4

如果我们谈论从BIOS到互联网连接我可以建议在不使用NetworkManager的情况下设置网络,我个人已经这样做了,因为我有一个非常缓慢的DHCP服务器并且NetworkManager直到我才开始探测网络已登录。

    
给出答案 LassePoulsen 14.08.2010 - 00:22
4

使用较轻的程序而不是默认程序:gnumeric而不是oo calc,abiword而不是oo write等等

    
给出答案 user7757 21.12.2010 - 22:15
4

如果您使用Unity桌面,请尝试使用更轻量级的界面,如LXDE或Xfce。

    
给出答案 Marco Hemminger 17.06.2012 - 13:14
4

发现什么导致我的机器变慢: gwibber-service 。也许是因为我在Twitter上有一个跟随很多人的帐户,当它刷新时,机器变坏了。

我用@kmassada监视机器顶部,当它真的很慢时注意到了这个过程。然后执行:

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

正如@blasmat指示通过启动应用程序我可以看到该服务自动启动,我禁用了它。现在我的电脑要快得多。我认为我仍然可以做出改进(我不觉得它处于最佳状态),但经过20个小时的测试后,我可以说它确实很顺利。

    
给出答案 Christian Vielma 30.08.2012 - 18:50
4

ubuntu-tweak实用程序有一个方便的“Janitor”工具,可以让您轻松清除缓存和孤立包。

sudo apt-get install ubuntu-tweak

请注意,截至2016-04-16,Ubuntu Tweak已被放弃,一年前有上次更新 - 请参阅链接 (是什么让链接过时了。)

    
给出答案 Cormac O'Brien 16.04.2016 - 08:14
3

使用 apt-fast 而不是 apt-get ,并将apt缓存放在tmpfs上。

你需要aria或axel才能使apt-get工作,所以首先要么:

apt-get install aria2c

apt-get install axel

我用过咏叹调。 然后你需要自己快速。

sudo add-apt-repository ppa:apt-fast/stable && sudo apt-get update && sudo apt-get install apt-fast

回答问题,从那时起,apt-fast就会像apt-get一样,除了它并行下载包之外。如果您要安装单个应用程序,那么没有什么区别,但是对于更大的安装应用程序来说很多。

结合使用,我的/ etc / fstab有:

tmpfs /var/cache/apt/archives tmpfs defaults,noatime,mode=1777 0 0

这有一个缺点,即如果在不同的靴子上多次使用相同的包,它将不得不再次下载它,但是它可能在此期间已经更新了。它具有更快访问它们的优点,可以在重新启动时自动清理未使用的软件包。

由于我在这些实验过程中一直在重新安装,所以我可以进行比较。在安装12.04之后,在编写本文时将有大约300个更新,包括安装后可用的内核更新。我忽略了软件更新程序并在 apt-fast update && apt-fast dist-upgrade 之前完成了上述更改,下载部分的速度提高了很多倍(实际安装时间也相同)。

我有 alias apt-get="apt-fast" 的别名,所以我甚至不需要改变习惯(唯一的区别是对下载的不同反馈,我是否要下载它们的确认,以及隐含的 sudo 我应该忘掉它,但触发任何事情的命令是相同的。)

    
给出答案 Jon Hanna 02.08.2012 - 01:07
2

我会检查哪些进程正在运行以及哪些进程占用的内存最多。你可能正在安装一些内存hogger。使用top命令或系统监视器。

如果您不喜欢糖果,我甚至建议安装以下包装。我注意到统一和基本gnome之间有相当长的响应时间

sudo apt-get install gnome-core gnome-session-fallback

我还会检查我的启动应用程序,看看启动时运行的是什么,以及启动时我不需要运行什么。

我还会检查特定应用程序的响应性。

最后我会检查图形设置。也许你需要为了性能而牺牲电池寿命。

    
给出答案 kmassada 30.08.2012 - 14:22
2

提高性能的另一个好方法是安装CompizConfig设置管理器,并禁用动画效果,淡化窗口和窗口装饰。桌面墙和世博会也是一种选择。

另外,在OpenGL下使用快速纹理过滤器

    
给出答案 Sergiy Kolodyazhnyy 07.02.2015 - 17:03
2

尝试Ubuntu的轻量级社区风味

而不是弄乱你的Ubuntu系统:重新安装一个社区风格的Ubuntu ,一个带有相同Ubuntu引擎的风格,但是具有轻量级桌面环境,并且带有打火机应用程序。

  • 超轻 Lubuntu

  • 中等亮度 Ubuntu MATE Xubuntu

在安装前试用它们。继续使用LTS版本是一个好主意,我建议你从16.04.1 LTS开始,这是剩余支持时间最长的版本,直到生命终结。请参阅以下链接中的详细提示

支持时间最长的版本(写入时)

找到支持时间最长的 16.04.1 LTS 有点棘手。以下链接有效(2017-06-29),

给出答案 sudodus 29.06.2017 - 11:49
1

尝试ck补丁集:链接

这是一个带有实验性补丁的内核,可以提高桌面性能。

    
给出答案 user1974 17.04.2011 - 04:15

阅读有关标签的其他问题