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


346

您有哪些提高ubuntu整体系统性能的技巧?受这个问题的启发,我意识到某些默认设置在Ubuntu上可能相当保守,并且如果希望使其更快,可以对其进行几乎没有风险的调整。

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

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

我的几个是:

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

你是什​​么人

PS:由于这并不是要有一个唯一的答案,而是一些有用的提示,因此,我将这个社区Wiki开箱即用。


44
提到您的小技巧有多有效,是一个好主意:您注意到或改进了多少改进措施
吉尔斯(Gilles)2010年

5
我没有发现任何证据表明改变互换性会产生积极影响。它可能会给人一种暂时的性能提升的感觉,这种消退似乎很快。我还没有看到任何具体的证据以基准的形式证明改变互换性参数的有效性
txwikinger 2010年

5
我怀疑它是否会对性能产生明显影响。tty几乎不使用任何内存,也不会使用大量的cpu。
txwikinger 2010年

6
“过早的优化不是万恶之源”吗?(en.wikipedia.org/wiki/Program_optimization#Quotes
亚历

2
@Alejandro引用假定您已尽力而为。
托尔比约恩Ravn的安徒生

Answers:


178

如果您是“普通的乔”,那么什么也别做。不要摆弄您不了解的程序或设置。不要遵循Internet上发布的技巧,该技巧如何通过自己编译一些软件或安装自制内核来提高系统性能。

这些技巧中的一些确实可以给您带来轻微的性能改进,但是如果您更改了错误的设置,禁用了错误的服务,安装了错误的驱动程序等,其中的一些技巧也会使您头疼。

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

需要明确的是:如果您不是普通的Joe,而是开发人员/铁杆游戏玩家/ ...需要任何周期,您就不会成为此评论的目标...


72
调整设置并编译自己的内核和软件是学习的好方法。我认为应该鼓励这样做,只要人们知道当它们严重损坏时,他们可能需要重新安装操作系统。
Nerdfest 2010年

22
只有真正想了解内核工作原理的人才应该考虑编译自己的内核。对于大多数人来说,他们甚至应该知道“内核”的存在。坚持使用常规内核,您就可以利用常规软件更新的优势。
布拉德·菲格

1
@Brad,啊,时代发生了什么变化:)当我开始使用Linux时,我们必须编译自己的内核,因为它是在实现动态模块之前进行的。我不会错过!
托尔比约恩Ravn的安德森

1
@Nerdfest很好,我在linux领域中最重要的老师无疑是Gentoo手册了……我从来没有真正可以使用的GUI,但是我确实学到了很多有关基本linux安装如何工作的知识!在所有发行版中,这几乎都是相同的
LassePoulsen,2010年

2
我现在正在根据我从中学习的内容进行性能调整。那就是说,在两种情况下,我总是想对Windows进行调整,而我对Ubuntu也持相同的态度:1.系统太慢了,几乎没有什么帮助。2.一个系统是如此之快,以至于我忍不住想知道它能达到什么目的!中置系统我不理会:)也就是说,确定的+1
乔恩·汉娜

102

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

许多软件包会自动启动服务。这些服务甚至会使用很少的内存和CPU。在这种情况下,最好停止这些服务,或者将其从自动启动中删除,然后仅在需要时才启动它们。

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

在12.04,您可以通过单击Dash Icon来选择启动应用程序。然后,键入启动并选择“启动应用程序”。




替代文字

只需取消标记不需要的应用程序即可。但是请确保,不要仅仅删除您不知道的应用程序。如果您不确定其中一个,则保留该方式。谷歌搜索或有关特定程序的新问题会有所帮助。


3
好一个!简单有效。我个人禁用了与蓝牙相关的内容,因为我的笔记本没有此功能。
Decio Lira

2
您能否解释/添加一个链接,以解释如何在Ubuntu下查看和禁用/启用服务。
Skizz 2010年

1
对于Kubuntu / KDE用户,等效项是:开始菜单按钮->系统设置->系统管理->启动和关闭。有两个部分,一个用于“自动启动”,一个用于“服务管理器”(用于长时间运行的守护程序),您既可以启动-停止服务,也可以确保它们不会作为标准启动顺序的一部分启动。
arielf 2013年

76

[免责声明]管理以下内容需要您自担风险。

Tushar Neupaney 在这里提供以下建议:

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

  • Gedit >>鼠标垫
  • 图片查看器(EOG…)>> Gpicview
  • 网络管理员>> Wicd
  • 埃文斯>> epdfview

2.减少闷气

  • sudo vim /etc/sysctl.conf

    编辑:vm.swappiness = 10

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

  • sudo vim /etc/init.d/rc

    编辑:CONCURRENCY =壳

    shell选项现在已过时。默认值是生成文件外壳是由2010-05-14一个别名生成文件

4.清理/ var / cache / apt / archives中的apt缓存,并清除/etc/apt/sources.list中不必要的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的文件,不要想。编辑它们并以“从运行级别开始”开始的注释行。因此,在这种情况下,您将在“ 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……………………。


43
这没有提供有关为什么我们应该遵循您的建议的信息。请提供一些背景和基准。
Pixel Developer

我已编辑以添加要求的“上下文” ;-)
desgua 2011年

3
我正在尝试数字3,并且要更改的行上方的注释列出了有效选项,而“ shell”不是其中之一。这个答案老了吗?评论没有告诉我所有的选择吗?
约翰(John

1
尽管没有提到“ shell”选项,我也尝试过3号。编辑后,启动所花的时间比并发设置为“无”时要长两倍。所以我回到了原始环境。
Wojciech

sed -i -r '1s/(^[^#])/#\1/g' /etc/initramfs-tools/conf.d/resume一行,但仅在不存在时添加注释-好的,请在脚本中添加:)
SergioAraujo 2011年

42

减少您的引导加载程序菜单超时

听起来微不足道,但是我发现Ubuntu中的默认10秒对于我的口味来说太长了。说我的屏幕需要一点时间来自动调整分辨率,我看到计数器乍一看是8秒。

我将超时设置为3秒,给了我一秒钟的时间来查看启动菜单(考虑了我的屏幕调整为res的时间)。很多时间,按箭头键选择另一个项目会使计数器停止。

rub(9.10业力之前)

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

查找并编辑“ TIMEOUT ”行

Grub 2(9.10 Karmic及更高版本的新安装)

sudo -i gedit /etc/default/grub

查找并编辑“ GRUB_TIMEOUT ”行,然后运行sudo update-grub


31

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

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

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


4
relatime已经不是ubuntu中的默认设置了吗?
ImaginaryRobots

@ImaginaryRobots:“在将noatime选项添加到文件系统(ext4和reiserfs)后,我的整体性能得到了提升。” -您的意思是“休息时间”吗?-不,我的意思是“ noatime”:D
dag729

8
这可能会破坏某些依赖此功能的电子邮件软件和一些备份工具。但是对于临时用户,这应该没问题,因为Thunderbird和Evolution都不会受到影响。尽管在Ubuntu上,从relatime(默认)切换到noatime不会带来太多改进。请参阅lwn.net/Articles/244829,relatime的工作原理,您将了解它已经大大减少了上次访问时间更新的次数。
惠更斯(Huygens)2012年

31

如果您的内存不足,请使用zramswapzram-config从Ubuntu 仓库中下载。它是一种虚拟交换,可压缩未使用的RAM内容,而不是将其放入磁盘(通常会在遇到RAM障碍后冻结系统)。我几乎没有遇到性能损失,而是每次用完RAM都会冻结系统。

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

对于那些从未达到RAM限制的用户而言,它无论如何都会提高HDD系统的速度,但是您最好减少swappiness以达到相同的效果。

SSD用户:极有可能您不会体验到任何速度提升,但是zramswap可以大大降低SSD的磨损。


3
似乎是一个非常有用的应用程序!
Decio Lira

它对低内存系统很有用,我想知道为什么默认情况下不为此类系统安装它吗?
NoBugs 2015年

@NoBugs,因为Ubuntu开发人员非常保守。但是默认情况下,它已在Ubuntu Phone上启用。
Shnatsel

@Shnatsel“谷歌使用zram在Chrome操作系统,它也推出了Android 4.4系统的设备的选择”(en.wikipedia.org/wiki/Zram
NoBugs

20

我不确定我的答案是否符合条件,因为Ubuntu通常意味着使用更轻巧的替代品的GNOME和Ubuntu版本的名称稍有不同,例如Xubuntu。

我通常建议先摆脱GNOME。如果您对诸如fluxbox之类的轻量级产品感到满意,请执行此操作。


我知道Archlinux不是Ubuntu,但是在我的Archlinux机器上安装Ratpoison时,我看到了性能的大幅提升(是的,对某人来说太小了,但对你的机器来说仍然是硝基的)
dag729 2010年

3
同意,请尝试XMonad,它很棒。
罗伯特·马赛奥利

+1。或安装Ubuntu,但在安装后切换到xfce。
大卫·奥尼尔

XFCE确实确实要快一点,但是只需要一点点,它就使用相同数量的资源。尝试Enlightenment(例如Bodhi Linux是带有Enlightenment的Ubuntu 10.04),它非常轻巧,仍然具有Compiz的视觉效果。或尝试使用LXDE或Fluxbox,Linux Mint似乎已经很好地集成了它们。
Shnatsel

20

更改用于SSD的机械磁盘

固态驱动器要快得多,并且似乎是当今几乎所有计算机中最瓶颈的地方

我曾经经历过将启动时间从〜15秒减少到〜3秒,并将首次启动的应用程序(例如Firefox,从〜5秒减少到不到一秒钟)大大减少了。

想要一些基准?是一个。


如果您的计算机较旧,这可能会机械地起作用(例如,具有IDE连接器的SSD),但按预期进行:速度的提高将取决于系统的其他瓶颈(例如,IDE连接器,例如:)
关于

我很惊讶这个答案没有得到更多的赞成票。
WinEunuuchs2Unix

19

设置vm.swappiness=10/etc/sysctl.conf。填满内存后,我的速度有了明显的提高。由于我大多数时候都使用Eclipse,因此物理内存可能会变成稀疏商品。

编辑:

Ubuntu交换常见问题解答中

“ Ubuntu中的默认设置为swappiness = 60。降低swappiness的默认值可能会提高典型Ubuntu桌面安装的整体性能。建议将swappiness = 10的值设置为,但可以随时尝试。注意:Ubuntu服务器安装具有台式机系统对性能的要求有所不同,默认值60可能更合适。”

FAQ非常完整,说明了什么是交换,如何使用交换以及如何更改交换。推荐给任何想修改swappiness或磁盘上交换文件大小的人的读物。


2
@Erigami:+1提及实际上对您有所作为的事情。
吉尔斯

2
@DecioLira:否。它将我当前未使用的应用程序推送到磁盘上,这意味着我当前正在使用的应用程序可以访问更多的物理内存。
2010年

2
您有没有显示差异的硬核数字,在什么情况下产生了什么样的差异?
txwikinger 2010年

2
@Erigami:我玩得很开心一段时间。在开始时,感觉好像更快,但是随着时间的流逝,一切似乎都一样。一些真实的测量将真的很有趣。
txwikinger 2010年

2
我所做的各种测试都证明vm.swappiness = 100优于10。在一台慢速计算机上,它将有助于加载;在一台快速计算机上,它将无济于事(除非您将多个GB应用程序页面运行到ram中)。这是双赢的。
NightwishFan 2010年

17

听起来很愚蠢,请始终更新系统!


5
是。这样做后,我立即注意到改进。
ixtmixilix

但是:可以手动执行,也可以通过命令行执行。通过更新mgr进行的每日更新可以冻结旧系统(让您猜测发生了什么)。
关于natty的坚果,2015年

17

6
如果执行此操作,请确保经常检查和/或清理/tmp目录,否则可能会因为某些应用程序忘记清理其临时文件而冒用完RAM的风险。我读到,这实际上在某些Solaris机器上确实是一个问题,因为该操作系统将挂载/tmp在ramdisk上,并最终将其填满。但是,如果使用得当,它可以提供良好的性能。
Fouric 2012年

有些有ram问题,这是给cpu的!
Amir Forsati

1
通常,只有在您有大量的ram时,这才是很好的建议,值得一提的是,此建议对于PC而言不是很好的选择。
tymik

16

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


5
此设置可以双向进行。有时让GPU代替工作可以释放CPU和RAM并改善整体系统性能。
ændrük

2
太好了-您如何进行调整?
ixtmixilix

@ixtmixilix:右键单击桌面并选择显示选项(这是最下面的一个IIRC-我在工作,必须使用SomeOtherOS)。
Skizz 2010年

谢谢。。。您的评论可能意味着我不会再切换回Debian,由于不那么浮华,所以速度比以前快了几年。。。后台菜单...(?)...抱歉,但是调用它让我想起了SomeOtherOS
ixtmixilix

1
@ændrük我如何才能找到适合我的情况?(我的GPU是否在帮助您保持桌面效果,或者是否应该禁用它们)
2013年

12

调整ext4以获得最大烟雾

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

tune2fs -o journal_data_writeback /dev/sdXX

# Check fs options
dumpe2fs /dev/sdXX |more

来自kernel.org的文档

在data = writeback模式下,ext4完全不记录数据。在默认模式下,此模式提供与XFS,JFS和ReiserFS相似的日志记录级别-元数据日志记录。崩溃+恢复可能会导致错误数据出现在崩溃前不久写入的文件中。此模式通常将提供最佳的ext4性能。

甚至更多的烟

要压缩更多性能,请添加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及其电源至少已中断3次,我没有遭受任何数据丢失的影响,但里程数可能会有所不同。


可能是在笔记本电脑上配置这些设置的好方法,没有掉电.....好的配置我会尝试的
零时

3
nodiratime这里不需要,因为noatime暗示了
Shnatsel

1
如果您正在寻找吃数据的调整,可能会导致禁用设备壁垒。这样可以多次提高性能,但是如果断电,您的文件将被拧紧。
Shnatsel

关机后,可能会损坏文件系统。
托尔比约恩Ravn的安德森

10

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


5
ørn,该问题背后的想法是,进一步了解系统,以及如何为对此感兴趣的人进行调优。仅仅购买一台新机器/零件是一个显而易见的答案,什么也没教。
Decio Lira 2010年

15
然后在问题中提到。购买更多的RAM可能是根本上加快系统速度最简单,最有效的方法(因为Linux使用未使用的内存作为磁盘缓存)。
托尔比约恩Ravn的安德森

RAM超过程序总使用量和磁盘空间也没有意义,因为超过了所有磁盘的大小,写入缓存中没有任何可保留的内容。
ζ--

@hexafraction大多数典型的计算机配置具有比磁盘空间少得多的RAM。SSD磁盘虽然速度很快,但仍然比内存访问慢得多。i7的最大内存带宽为25.6 GB / s。ark.intel.com/products/75121/…–ThorbjørnRavn
Andersen

如果您没有达到100%的内存使用率,那么购买更多的内存将无济于事,除非您按照其他步骤操作(ramdisk)。
idbrii 2015年

9

以下内容仅适用于专家。顾名思义,即使您小心一点,它也可能会吞噬您的数据。

eatmydata是一个将关闭fsync的软件包。Fsync是一项系统操作,可确保在继续操作之前将数据写入磁盘。通常,您需要这样做,因为它使从停电和故障中恢复更加容易,更快并且数据丢失更少。不过,它是有代价的。调用fsycn的任何程序都必须等待它顺着顺序运行,而不是简单地将数据传递给内核以供日后写入。在某些甚至可能很多文件系统中,fsync会写出所有数据,而不仅仅是您想要保护的内容。

在某些特定情况下,fsync并不值得。假设您有一台服务器处理数字数据。与其将其指向实时数据库,不如将其转储到一致的本地数据库中,安装eatmydata来关闭fsync,然后放开它,可能会更快。这仍然可能崩溃并丢失数据,但是由于它不是唯一的副本,因此您可以从头开始重新启动该过程。或者,例如,Ubuntu的构建服务器,我们只关心最终生成的软件包。或者,在桌面端,如果某个程序(如Firefox)正在同步太多,则会减慢整个系统的运行速度。只是准备丢失与使用此操作相关的所有数据,否则将面临可怕的后果。


6

关闭并非一直使用的应用程序。

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

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

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


7
是的,但是不用说。
Dmitriy Likhten 2010年

当我保持Firefox打开时,我的CPU风扇打开了很多。我停止使用FF并切换到Chrome。我知道这不是直接的性能改进,但是我认为CPU的占用更少,因此其他应用程序可以更多地使用它。
2010年

1
@Dmitriy Likhten:有多少人在后台运行电子邮件客户端?我们应该给他们一个轻量级的applet,而不是通知新电子邮件,并且仅在阅读电子邮件时才打开电子邮件客户端。
txwikinger

对于电子邮件客户端,我怀疑这会适得其反。当它仅等待新邮件时,其大部分内存都可以交换。从交换加载回来可能比加载邮件客户端正在使用的所有单独文件更快。OTOH,此技巧与Web浏览器高度相关,正如您提到的,即使背景选项卡/窗口也经常占用很少的CPU时间,并且由于某些动画图片或计时器上的JavaScript而无法交换。
吉尔斯(Gills)2010年

2
问题是,不幸的是,交换通常比不使用交换要慢,但是要有足够的内存来完全启动应用程序。尽管交换在服务器上似乎可以很好地工作,但是在台式机上,交换似乎带来的损害要大于我的经验(我还必须说,这是过去5年来Linux内核性能下降的原因之一。工作很多)。
txwikinger 2010年

6
  1. 使用JFS文件系统。这是坚如磐石。它具有最低的CPU使用率和非常好的整体性能。

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

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

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

当这两个内核争夺RAM时,vm.swappiness指示linux内核优先于缓存使用应用程序代码。

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

来自:http : //rudd-o.com/linux-and-free-software/tales-from-responnessnessland-why-linux-feels-slow-and-how-to-fix-that

vm.swappiness=15

vm.vfs_cache_pressure=50

1
“ JFS文件系统。它坚如磐石。它具有最低的CPU使用率和非常好的整体性能”-除了“有人告诉我这一点”之外,提供一些确认又如何呢?有什么基准?在什么情况下它是好的-例如,在配备SSD的现代计算机上这也是个好主意吗?
Mateusz Konieczny

6

Unity有时会占用一些资源,尽管令我惊讶的是,即使在Unity2D下,您也遇到了同样糟糕的性能。一种可能的解决方案是与其他更轻量级的桌面环境配合使用,例如Lubuntu(LXDE)或Xubuntu(XFCE)。我认为您会在总体响应能力和性能上看到很大的不同。

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

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

2
来吧,Unity不仅能够在具有4Gb RAM和双核处理器的机器上完美运行。建议在具有1Gb RAM和Atom处理器的上网本上尝试LXDE。当然,OP的问题是由某些配置错误或硬件不兼容引起的,而不是由Unity无法在该硬件上运行这一事实引起的。
谢尔盖(Sergey)2012年

5
您可能对克里斯蒂安问题的根源是完全正确的,并且您认为Unity应该(理论上)在他的机器上完美流畅地运行确实是正确的。但是,这些事实都不能否认我的声明,即Unity占用大量资源(无论机器规格如何),并且使用LXDE或XFCE无疑会显着提高性能。在这种情况下,这可能不是理想的解决方案(因此,我将建议指定为“一种可能的解决方案”),但是我希望它至少可以改善他的经验。
mblasco

@Sergey请不要忘记,我们中仍有许多人仍在使用限于1G的不可升级的上网本,只是因为它们未能使我们失败。就其内存占用量选择工具集不会使您或您的计算机成为恐龙(即使其中一个人也是;)。
Tatjana Heuser 2014年

@Sergey对我来说,我的笔记本电脑上的Lubuntu(默认安装)比Ubuntu(默认安装)快得多。它是4GB RAM,双核笔记本电脑,显卡非常差。以我为例,Unity效果会导致非常明显的速度下降。也许这也部分是由于愚蠢的默认设置或硬件不兼容引起的,但是对我而言,更差的默认设置和更差的硬件支持也是避免Unity的正当理由。
Mateusz Konieczny

5

配置交换

第1部分。设置交换性。这可能是根据degusa的回答,但可能相反,并且当它生效时会产生更大的影响。

当我们有足够的RAM时,我们当中的一些人会很乐意加入其中。通常,内核和应用程序直接使用其中的一小部分,其中一些(如果您使用其他调整来提高性能,例如在内存中安装/ tmp,则可能会大量使用)用于ramfs和tmpfs,以及gigs和gigs被用作磁盘缓存,以使我们的文件访问速度更快。

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

由于我们有大量的RAM,并且很可能根本就不关心交换,因此我们可以启用休眠模式,因此我们希望它倾向于使用一些丰富的缓存,因此需要低交换性。如果我们不希望能够休眠,那么甚至可能会发现这样的高RAM机器根本不需要交换。

另一种情况是RAM较低的人在一些繁重的应用程序之间切换,并在每个应用程序上花费了合理的时间。想象一下,一个网络开发人员花一些时间在IDE上,一些时间在图形编辑器上,一些时间在他们选择的浏览器上,在其他一些浏览器上花费一些时间来检查兼容性问题,并且可能每小时在邮件客户端上花费5分钟。他们还可能通过读写操作反复打相同的文件,因此从文件缓存中受益匪浅。这个人可能会受益于Linux,因为他们更愿意交换他们当前未处于活动状态的任何繁重应用程序所使用的内存,因此对于他们而言,swappiness应该更高。

对于他们来说,最好的设置不仅可能比最常见的建议要高,而且与总是有演出余地的人相比,他们可能会注意到更多。

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

每个交换分区都有一个优先级,而linux会优先使用最高优先级。如果未在/ etc / fstab中设置,则将从-1开始将其视为负值(显式设置在0到32767之间,因此-1低于任何显式设置),并在fstab中按顺序继续到-2,- 3,依此类推。

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

如果您在同一物理驱动器上有两个或更多,则它们应具有不同的优先级,这样它就不会尝试使用需要在它们之间进行搜索的两个分区(有人知道是否会自动避免吗?)。默认值很好。无论如何,在同一个驱动器上进行两次交换可能不是一个好主意,但是如果您创建了一个交换,然后又决定以后需要进行更多交换(例如添加更多的RAM),则可能会发生这种情况。

如果在两个或多个物理驱动器上有两个或多个速度大约相等,则将它们设置为相同的优先级将意味着linux将同时使用它们,这将提供更好的性能,其原因类似于RAID或只需确保两个驱动器上都有经常使用的文件-工作将在两个驱动器之间进行拆分。

如果您有两个或两个以上等速的物理驱动器,但仅交换一个,则出于上述原因,也许应该更改它。

如果您有两个或更多个速度非常不同的物理驱动器,那么通常您希望最快的驱动器具有比慢速驱动器更高的优先级,因此首先使用它。您甚至可能不想在较慢的驱动器上进行任何交换,但是如果您在快速但较小的驱动器上进行了小的交换以进行快速交换,而在较慢的驱动器上进行了较大的交换,则可能有道理,因此您有足够的空间来冬眠

如果两者中速度较快的是SSD,那么有两种方案各有优缺点:

  1. 为了提高速度,最高优先级(或可能仅交换)在SSD上。
  2. 仅在非SSD上进行交换,以减少对SSD的写入,从而延长其使用寿命。

如果您真的只有交换才能进行休眠,否则第二号可能是您最好的选择;否则,大量的RAM意味着您并不需要它(如果您在SSD上花钱,则应该将其花在RAM上)也是如此),除非您可能是一个启动速度狂热者,但他希望以一种可以炫耀您幻想的高规格装备的速度从休眠状态启动!否则,速度与SSD寿命之间的平衡才是关键。

如果您有一个仅用于交换的驱动器,以便不与其他文件I / O竞争,那么您大概是性能的核心,并且比我更了解这方面的知识,并且仅在阅读此书以了解我是否哪里不对了!


5

如果要查看在Ubuntu 10.04上启动后启动了哪些服务,请运行“ jobs-admin”。

sudo apt-get install jobs-admin

4

如果我们正在谈论从BIOS到Internet连接的问题,我建议您不使用NetworkManager来设置网络,我个人是这样做的,因为我的DHCP服务器非常缓慢,并且NetworkManager在登录后才开始探测网络。


引导时间是重要的性能方面。如何在没有NetworkManager的情况下建立网络?
Decio Lira

在Networkmanager中禁用“自动连接”,并查看此ubuntu.stackexchange.com/questions/1277/…您也可以查看man interfaces
LassePoulsen 2010年

我一劳永逸地删除了NetworkManager及其Gnome朋友……
dag729 2010年

对我来说,真的并不需要,您可以通过终端以任何方式完成所有相同的事情
。– LassePoulsen

NetworkManager的另一种方法叫做Wicd,我曾经用它来消除引导时的密码,以便它可以在台式机之前启动网络:wicd.sourceforge.net
Phil Hannent 2010年

4

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


4

找到了使我的机器变慢的原因:gwibber-service。也许是因为我在Twitter上有一个帐户,该帐户吸引了很多人,并且刷新后,机器损坏了。

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

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

就像@blasmat指示要通过“启动应用程序”一样,我可以看到该服务自动启动并禁用了它。现在我的电脑快得多了。我认为仍然可以进行改进(在最高条件下我感觉不到),但是经过20小时的性能测试,我可以说它确实运行良好。


4

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

sudo apt-get install ubuntu-tweak

请注意,自2016年4月16日起,Ubuntu Tweak已被放弃,一年前进行了最后更新-请参阅https://github.com/tualatrix/ubuntu-tweak(这是什么使http://blog.ubuntu-tweak.com/ 2012/10/22 / thank-you-ubuntu-tweak-will-continue.html已过时)。

Ubuntu Tweak的管理员


Bleachbit也很棒-可以跨平台工作,可以清理ubuntu-tweak不能执行的操作(反之亦然)。
NoBugs 2015年

3

使用apt-fast代替apt-get,然后将apt缓存放在tmpfs上。

您需要aria或axel才能正常工作,因此请先进行以下操作:

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 应该忘记它的隐含含义,但是触发任何内容的命令是一样的)。


2

我会检查哪些进程正在运行,哪些正在消耗最多的内存。您可能正在安装的东西是一个内存占用器。使用top命令或系统监视器。

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

须藤apt-get install gnome-core gnome-session-fallback

我还将检查启动应用程序,以查看启动时运行的内容以及启动时不需要运行的内容。

而且我还将检查特定应用程序中的响应能力。

最后我要检查图形设置。也许您需要牺牲电池寿命来提高性能。



2

尝试轻量级的Ubuntu社区风格

不用弄乱您的Ubuntu系统:重新安装Ubuntu社区风格,该风格具有相同的Ubuntu引擎,但具有轻量级的桌面环境和较轻的应用程序。

  • 超轻型Lubuntu

  • 中等强度的Ubuntu MATEXubuntu

在安装之前,请先试用它们。继续使用LTS版本是一个好主意,我建议您从16.04.1 LTS开始,该版本是支持最长的版本,直到生命周期终止。请参阅以下链接中的详细提示,

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

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


1

高级,如果您不知道自己在做什么,请不要做

编译自己的内核。http://www.overclock.net/a/how-to-configure-and-compile-a-custom-linux-kernel-for-ubuntu这可能会花费一些时间,因此在编译时需要执行其他操作。完成后,安装文件并庆祝。特别是如果您获得了巨大的速度改进。:D


9
有谁知道最近是否有任何基准可以证实使用自配置,自构建内核可能会在当前的Ubuntu桌面系统中显着提高速度的想法?(如果是这样,也许可以将信息添加到此答案中。)
Eliah Kagan 2012年

即使编译您自己的内核并不能显着提高速度,但是如果您想对Linux有更多的经验(或者,如果您非常好奇并想知道什么是Linux),那么您当然应该这样做,这是一个不错的Linux练习。发生在引擎盖下)。
Fouric 2012年

1
对于配置您自己的内核所花费的时间,从我自己的经验来看,花费时间</ sarcasm> *绝对值得减少启动时间0.2秒以及负载下<0.1%的性能改进。
马克·科文

1

RAID一切!

(我正在尝试许多有关性能的技巧,因为该任务教会了我很多东西,并且根据原始问题的要求,我将为每个问题单独撰写一篇文章)。

如果您有多个驱动器,则可以设置RAID。RAID级别的优缺点在所有地方都有详细记录,因此我不再赘述。我个人有两个驱动器,所以我的选择范围是0到1(尽管mdadm可以在两个驱动器上做5的形式,但我没有尝试过)。由于计算机可能会出问题,尤其是笔记本电脑,发生物理事故的风险更大,因此没有RAID级别可以拯救您,因此您需要一种策略来应对不依赖RAID的风险为了节省您的培根,(例如,如果您尝试在互联网上阅读一些性能调整内容,那将不会节省您的钱,例如,这会使东西无法启动),我决定使用RAID 0。

对整个系统而言,最简单的方法是从备用ISO进行安装,而不是通过桌面安装程序进行安装,该安装程序使您可以直接从CD / DVD / USB引导到Ubuntu。

选择“手动”分区。划分磁盘,以便在每个磁盘上都有要使用的分区。例如,如果您有两个磁盘,并决定为/ home预留100GB,那么如果使用RAID 0,则每个磁盘都预留50GB,如果使用RAID 1,则每个磁盘都预留100GB。

选择“配置软件团队”。选择“创建RAID卷”(或类似的选择,我不会启动安装程序来检查措辞)。在第一个RAID卷中选择所需的分区,RAID类型并创建它。重复上述步骤,直到设置完所有卷。(您不需要将交换放置在RAID上,只需在fstab中为两个或多个交换分区赋予相同的优先级,它们将在没有RAID的情况下一起使用)。

分配文件系统以及将什么安装在什么位置,就像进行任何安装一样,都可以轻松进行。

那里有很多东西说您只能在RAID 1或非RAID分区上具有/ boot。我已经在RAID 0上安装了它,没有任何问题,这可能是Ubuntu继续运行,Linux继续运行或BIOS继续运行的问题(如果是最后一次,则BIOS可能无法在RAID 0上使用/ boot) 。

安装程序将在您的所有驱动器上安装grub。这样做的好处是,如果在“第一个”驱动器上停止启动时停止工作,则可以进入启动菜单,然后从第二个启动。

hdparm确实确实对我来说看到事物的速度已经提高了一倍,而且许多事物的速度当然也有了明显的提高。我在实验中发现,引导的第一部分(在grub菜单之后,当您显示为空白紫色时)似乎较慢,第二部分则较快(现在很少有时间显示动画),并且应用程序使用也较快-到目前为止,我尝试过的所有技巧的性能提升幅度最大。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.