如何充分利用RAM来提高整体系统性能


18

我有一台低调的计算机,但是有很多快速内存4 Gb,这确实是我可能永远不会使用的内存,甚至是一半,因为我只是用这台计算机来编码和浏览Web。

HDD确实很慢,因此在引导,缓存或启动新程序时整体性能很差,我想知道Ubuntu是否可以提供某种设置或实用程序来解决这种情况,并使我的系统更多地依赖于RAM的使用。


1
空闲RAM应该已经用于缓存,这是默认行为。但是,仍然必须首先从相对较慢的硬盘读取数据,而加快该速度的唯一方法是使用更快的硬盘或ssd。抱歉,今天没有魔法。PS:Ubuntu用于ureadahead分析启动过程并使其尽可能快。
mikewhatever 2012年

2
另外,在现代计算机上4GB容量不多。现代网站到处都是复杂的JavaScript,并且其中包含大量数据,这可能会导致网络浏览器相当快地消耗内存。我曾多次看到Firefox仅接近数GB的常驻内存使用量。
dobey 2012年

以我的经验,@ dobey JavaScript需要的CPU比RAM多。
user1717079 2012年

Answers:


11

您应该安装“ 预加载”,它将在内存中预加载您使用最多的软件(它将了解要自行加载的软件)。这很容易设置:

sudo apt-get install preload

您可能不需要触摸它,但是如果需要,您可以在 /etc/preload.conf


我也注意到此预链接实用程序的存在,谢谢。
user1717079 '10 -10-10

2
@ user1717079-请记住,预加载不会加快启动时间,大多数缓存应该已经在RAM中完成。
Shauna 2012年

1
预加载既不会加快启动速度,也不会加快缓存过程,因为它们在很大程度上取决于硬盘的速度。
mikewhatever,2012年

当我们处于预链接的主题上时,预链接不会显着提高性能,请参阅smackerelofopinion.blogspot.co.uk/2009/06/…–
Colin Ian King

@ColinIanKing如果能在性能方面给我带来一点优势,启动时间不会那么糟糕,我会很高兴,问题是通常比较迟钝,或者加载新程序需要太多时间。我将使用几天的预加载和预链接,让我们看看情况是否会发生变化
user1717079 2012年

10

您可以添加以下行以/etc/fstab/tmp目录挂载到RAM。

tmpfs / tmp tmpfs默认值,noatime,nodiratime,mode = 1777 0 0

这也可以通过其他目录来完成。例如,在编译代码时,可以将放置目标文件的文件夹放在其中并链接到RAM中。

但是要注意。在任何关闭情况下,以这种方式装入的文件夹中的数据都会丢失。记住这一点。

除了据我所知,还有许多其他有用的资源可用于此主题。例如这个线程


谢谢,但是ramdisk确实有点不一样,但是我很感谢您的提示,因为稍后它会很有用。我现在的大问题是如何更快地运行应用程序,而不是如何使文件系统更快。
user1717079 '10 -10-10

是的,但是我发现值得一提,因为您有4GB的RAM,如果告诉Firefox将它们用于缓存和其他东西,则使用RAM文件夹将改善您的浏览体验。
cauon 2012年

6

什么是RAM?

RAM或随机存取存储器是一种存储系统,称为易失性存储。也就是说,它只有在通电时才保存数据。换句话说,如果不将其写入永久性存储设备,对它所做的任何更改都会在RAM断电时随时丢失。

什么是硬盘驱动器?

硬盘驱动器或磁盘驱动器(或硬盘驱动器)是另一种类型的存储系统,称为持久性存储。这意味着即使断电,数据也会保留。CD,DVD,软盘和USB拇指驱动器也属于此类别。

当我启动,写入缓存或启动新程序时会发生什么?

为了在重新引导之间维护系统,操作系统必须将RAM中的内容写入持久性存储设备(通常是主硬盘驱动器)中。相反,为了还原该信息或启动应用程序,它必须将该数据从存储设备加载到RAM中。即使实时CD也会发生这种情况,即使所有内容都在内存中运行,它也必须首先从CD(或USB驱动器)中读取所有内容。即使在工具/想法提示和Ugo建议的情况下,也会发生这种情况,因为在某些时候,必须从磁盘读取数据或将数据写入磁盘,才能在两次引导之间持久存在(特别是Preload 不会缩短启动时间)。

如果您有快速的RAM,那么瓶颈将在读取/写入磁盘过程中出现,通常是数据连接速度或驱动器速度方面。

我该如何提高这些操作的速度?

为了提高上述所有三个操作的速度,您需要进行一些硬件升级。

获得更快的连接。并行ATA连接(PATA,旧机器中的灰带)将比SATA连接(串行ATA,更新,较小的电缆)慢。如果可以,请升级到SATA驱动器。如果您使用USB驱动器路线(如下所示),请确保您使用的是USB 2.0(或者更好的是速度方面的3.0)驱动器端口。USB设备和端口的时钟速度将降低到速度较慢的速度,因此,即使您拥有3.0端口,如果设备为2.0端口,则只能获得2.0的速度。

获取更快的存储设备。基于磁盘的硬盘驱动器以RPM为单位进行测量,通常以三种速度-5400 rpm,7200 rpm和10k rpm。如果您有5400 rpm的驱动器,请至少升级到7200。此外,固态驱动器(包括USB拇指驱动器)比基于磁盘的驱动器要快。如果负担得起,请升级到固态驱动器。另外,您也可以将Ubuntu安装在USB驱动器上并从那里运行(但是请记住,这种设置将受限于USB端口的速度,因此请确保至少使用USB 2.0端口并驾驶)。


1

尝试zram(曾经称为compcache),它是内存中的压缩交换!

ubuntu 12.10的软件包是zram-config,无需引导。

swapon -s将显示如下内容:

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1023860 0       -1
/dev/sdc4                               partition       976892  0       -2
/dev/zram0                              partition       761876  0       5
/dev/zram1                              partition       761876  0       5
/dev/zram2                              partition       761876  0       5
/dev/zram3                              partition       761876  0       5

我有6GB的ram和4个核心的cpu,所以每个核心一个交换,总共使用了一半的ram!(有充分的理由)

阅读ppl关于compcache和zram的说法!

好吧,如果正在使用非zram,请启动或尝试IYKWYAD(如果您知道自己在做什么),交换它们,以查看是否填充了zram并提高整体性能。


顺便说一句,我当前的设置是每个zram交换(每个内核)有250MB,因此4个内核总共有1GB。我发现它比允许zram使用我的总内存的一半(3GB)更好,我认为这是因为如果我允许一些内存不足的应用程序使用更多的实际内存,它将交换到硬盘驱动器/ ssd的次数更少。我还关闭了许多其他不需要内存的应用程序,这些应用程序并不需要一直运行。
Aquarius Power
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.