如何调整Linux桌面以提高响应速度?


30

我的经验是,在物理内存耗尽之前,Linux可以正常工作。一旦使用交换空间,性能就会严重下降,GUI会变得无响应。

这个问题不仅限于特定的发行版或台式机,因为我已经尝试了一些(问题仍然存在)。

我该怎么办?


这是linux内核的一个已知问题...我相信我读到最近有一个补丁致力于修复它。寻找参考...
xenoterracide 2010年

1
这篇文章这一个对phoronix是我在想什么的......我想。
xenoterracide 2010年

基本上,那些文章都讨论了即将发布到2.6.36的补丁,因此,一旦发布,就会得到该补丁(除非您敢于运行RC或从大师
那里

你有多少RAM?您运行的哪些程序太饿了?虚拟机的?JVM?
tshepang

我有8GB的内存和匪徒是通常的应用程序(化网页浏览器如Firefox和Chrome,电子邮件客户喜欢雷鸟,和IRC客户端。
txwikinger

Answers:


15

我建议阅读SwapFAQ,尤其是swapiness参数。


3
+1,交换是我们希望不要使用的创可贴...
艾利·佩恩

1
我已经广泛尝试了不同的交换设置,但没有成功。我还注意到,关于交换价值的意见根本没有统一。对于台式机,有些建议10,其他建议100,这表示他们建议完全相反的效果。
txwikinger

1
经过进一步的测试后,我建议不要使用交换率100或0。这两种情况都导致桌面陷入交换热潮,甚至使面板时钟停止了20分钟以上。
txwikinger

11

一些指针:

  1. 不要一次运行那么多GUI程序。
  2. 确保在后台运行不需要的任何程序,例如Apache。
  3. 使用针对内存不足情况的发行版(例如,上网本)
  4. 购买更多内存。
  5. 为交换分区购买更快的HD(或SSD)。:)


2
使用现代固态硬盘,整个系统很可能已经过时并且可以在固态硬盘死掉之前很长时间就可以更换。这些天真的不值得担心。当然,仍然需要备份,因为磁盘(SSD或机械磁盘)可以随时消失。
cas 2012年

4

购买更多的内存?:)

如果您正在运行的应用程序使用的内存比系统中的内存多,那么任何操作系统都无法对此进行其他操作,然后再交换到交换分区。如果您经常遇到这种情况,请停止运行一些不需要的程序,或者实际上是购买更多的内存,这几天来它非常便宜。


3
我已经有最大的RAM。我想知道一些调整,这些调整使交换效率更高。
txwikinger 2010年

1
我发现完全禁用交换倾向于使系统响应更快。内核会通知应用程序它们没有内存,并做出相应的响应。
cjac 2010年

3
@cjac:通常不是这种情况。您可以配置内核来执行此操作,但是默认情况下,它将过度使用(给予您的应用程序内存,而系统没有此内存)。一旦应用程序触及内存,内核再也找不到了,内存不足杀手将终止一个或多个进程。
克里斯托夫·普罗沃斯特

@txwikinger交换速度很慢的原因是因为RAM的速度比硬盘快得多。RAM寻道时间以纳秒(10 ^ -9)为单位。HDD搜寻时间以毫秒(10 ^ -3)为单位。这是六个数量级,换句话说,RAM比交换快一百万倍。您的问题就像问如何使自行车像协和飞机一样快地行驶。你不能
bahamat 2011年

1
@bahamat。您在说的很明显,但这不是问题。问题是交换工作效率非常低,因此在朝着哲学家的问题方向发展。
txwikinger 2011年

2

尝试将内核变量“ vm.swappiness”和“ vm.page-cluster”的值更改为更合适的值。

  1. 启动终端仿真器。
  2. cd /etc/sysctl.d/
  3. sudo echo "vm.swappiness = 0" > 60-memory-management.conf
  4. sudo echo "vm.page-cluster = 1" >> 60-memory-management.conf
  5. sudo chmod 644 60-memory-management.conf
  6. 重启。

检查新值是否与以下一起使用:

  1. cat /proc/sys/vm/swappiness
  2. cat /proc/sys/vm/page-cluster

1

交换无论如何都会严重降低性能,因此最好完全避免这种情况。这听起来可能很愚蠢,但是一种选择是不配置交换分区。我已经在所有系统上运行免交换了一段时间了:

  • 上网本上有1 GB的空间足以浏览网页,听音乐和其他轻量级内容。
  • 我的桌面上有4 GB足够用于上述所有事情以及开发(甚至在Eclipse中)和基本图像编辑。

如果您做的事情确实占用大量内存(带有大图像的Gimp,3D建模,CAD),则可能应该购买一些RAM。


是。我慢慢得出同样的结论。在我看来,Linux内核交换的方式对于台式机而言并不是十分有效(在服务器上,所有这些工作都很好)。因此,也许建议应该禁用台式机上的所有交换空间。顺便说一句。我使用8GB RAM :)
txwikinger 2010年

1
@txwikinger:我可以问一下为什么在服务器上可以吗?
phunehehe

1

如果可以弄清楚如何在发行版中进行设置,则可以尝试compcache。例如,在Ubuntu上,您可以通过编辑/etc/initramfs-tools/initramfs.conf并编辑“ COMPCACHE_SIZE”行来启用它。

自启用compcache以来,我认为磁盘上的交换没有被触及过一次。这是我当前的掉期统计:

% swapon -s
Filename                                Type            Size    Used    Priority
/dev/ramzswap0                          partition       1028084 69504   100
/dev/sda5                               partition       3148668 0       -1

请注意,使用了compcache设备(ramzswap0),而不使用磁盘上设备(sda5)。


0

购买更快的RAM,并确保您的系统正在使用所有RAM。您正在使用什么CPU和体系结构?


如何调整Linux系统?硬件更改或改进不是这里的问题。
txwikinger 2010年

您的linux安装可能没有使用所有可用的硬件。这是一个性能问题,您在前面的评论中已声明您已达到最大RAM限制。在不了解有关配置的更多详细信息的情况下,采用简单的方法便是更好的硬件。
Mike H

1
“ Linux系统”由硬件和软件组成。添加内存会“扭曲”系统。
cjac 2010年

Linux是在硬件上运行的软件。Linux中不包括硬件:p
txwikinger 2010年

1
我认为更多的内存比更快的内存更合适... RAM速度通常也受主板限制...
xenoterracide 2010年

0

我在屏幕右侧的扩展坞中运行系统监视器小程序。每当系统感觉缓慢时,我都会看一下仪表。如果任何事物都以超过10%的容量运行,则表明该进程已失控。

如果单击系统监视器,则可以深入了解正在消耗系统资源的进程。

http://www.colliertech.org/~cjac/tmp/screenies/system_monitor.png


1
大多数系统监视器只是拖慢了缓慢的系统,更多的是Schrödinger的猫。在不增加内存的情况下,他必须修复内存泄漏或修剪正在运行的不必要程序。
jjclarkson

0

几年前,通常使用专用驱动器进行交换,同时连接到自己的IDE / ATA总线-在同一驱动器上交换数据只是在性能上没有意义。

十年前,这种技巧就起作用了,但是现在随着驱动器速度的提高,您真的不应该看到这种繁忙的性能下降,除非您要更换国会图书馆,否则我会担心驱动器的运行状况-您最近检查过吗?

您可以随时尝试一下,如果您的RAM已经用完了,您没有太多选择。如果有希望的话,它可以使您的GUI更具响应性。


台式机的许多用法都不提供此选项,因为它们是笔记本电脑或不允许第二驱动器的上网本。
txwikinger

@txwikinger显然是正确的,但是我考虑了问题的标题为“ desktop”的问题,否则,如果特别提到笔记本电脑,我不会建议这样做:-)
反转

嗯..我的意思是台式机是为了与服务器区分开来,在我看来交换工作相当好。:)
txwikinger

0

在网络上安装具有大量RAM的第二个Linux系统,将其NFS挂载到您的主系统上,然后在其中放置交换文件。


1
使用千兆以太网,这将比中档固态硬盘慢很多,而且我不确定您是否可以达到7200rpm硬盘的速度。也许使用Firewire,您可以达到本地交换的速度。但是,简单地添加RAM会更有效。
吉尔(Gilles)“所以,别再邪恶了”,


0

多年的经验,我可以告诉您没有太多需要调整的地方

但是,我最近所做的工作很有帮助。

1个

我从Ubuntu迁移到Arch Linux,从Unity / Gnome迁移到xfce桌面。

Ubuntu到处都是致命的缓慢。启动/图形..慢。

2

我购买了Intel SSD(80克),并在其上植入了根系统。

我的Arch Linux + XFCE4 + docky + conky可以在10秒内启动(使用lxdm自动登录),所有安装在SSD上的应用程序(例如Matlab)的启动速度都更快。

值得的钱。

3

将您的/ tmp放在其他位置,我使用有限大小的ramdisk来防止根文件系统混乱

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.