14.04 文件缓慢且冻结

14.04 文件缓慢且冻结

我正在运行一个完全更新的 14.04 系统,在使用“文件”应用程序执行某些任务时,我总是遇到长时间的延迟。有时删除文件需要几分钟才能开始,文件会停止并变灰。计算机的其余部分都很好。进入终端并 rm'ing(如果我可以动词的话)没有延迟。有时打开新窗口也会有同样的延迟。我尝试过不同的桌面(gnome、kde)使用它们各自的文件浏览器,没有遇到任何问题。

我认为这不是计算机本身的问题,我需要使用文件进行某些配置才能解决这个问题吗?

这是我的系统:

处理器:8x Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

内存:16343MB(已使用2822MB)

操作系统:Ubuntu 14.04.1 LTS

1TB 7200RPM 磁盘

256GB SSD 用于操作系统

干杯,

弗拉廷克

答案1

  1. 在 Nautilus aka Files 中删除文件比使用简单命令要耗费更多资源rm。其中一个原因是使用了所谓的回收站,文件只是被移动,而这些垃圾必须由系统管理。这需要时间和资源

  2. 您肯定运行了索引文件的服务。因此,如果文件系统发生更改,则运行此服务来更新其数据库。即使这样也需要时间和资源。

我认为硬盘速度太慢或没有正确集成到您的系统中。 7200 RPM 本身并没有什么意义。 您的 SSD 肯定足够快。

检查你的两个驱动器

sudo hdparm -t /dev/sda
sudo hdparm -t /dev/sdb

并观察 IO 速率

sudo apt-get install iotop
sudo iotop

并阅读进行一些优化。


一些例子来源:

  1. Linux 内核将从硬盘驱动器检索的数据存放到缓冲区中。要确定原始驱动器的速度,您可以使用

    hdparm -t --direct /dev/sda
    
  2. 某些驱动器属性可以在设备运行时更改;例如,大多数驱动器允许您打开和关闭电源管理。hdparm 可以在硬盘驱动器上更改和激活哪些功能,可以使用以下命令调用

    hdparm -I /dev/sda
    

    并可在命令/功能下找到(图 1)。在那里找到的所有功能以及标有星号的功能当前均处于活动状态,hdparm 可以使用其余功能或至少激活它们。

    为了加快数据传输速度,硬盘通常同时读取多个扇区。它能同时传输多少个扇区取决于

    hdparm -I /dev/sda
    

    并列在 R/W 多扇区传输:Max = 之后。此值也应在 Current = 之后的同一行中找到。如果不是这种情况,您可以使用以下命令增加该值:

    hdparm -m16 /dev/sda
    

    这指示硬盘始终一次传送 16 个扇区。

    奇怪的是,有些硬盘驱动器在设置较高值时运行速度会变慢:hdparm 手册页主要提到 Western Digital 的旧款 Caviar 驱动器。在这种情况下,您应该再次减少扇区数,甚至完全关闭该功能,具体操作如下:

    hdparm -m0 /dev/sda
    

    除此之外,现代驱动器甚至可以提前检索几个扇区(“预读”)。要定义多少个扇区,请使用 -a 开关(图 4,顶部)– 例如:

    hdparm -a256 /dev/sda
    

    在这里,驱动器将提前读取最有可能被请求的 256 个扇区。更高的值可以加快读取大文件的速度,但代价是读取较小的文件需要更长的时间。当前设置显示为

    hdparm -a /dev/sda
    

    除此之外,许多驱动器还具有内置的附加预读功能。因此,一般来说,您可以将设置保留为默认值。

    操作系统的查询到达硬盘控制器的速度可以通过以下方式调用:

    hdparm -c /dev/sda

    该值应为 32 位;您可以使用 -c3 开关强制该值。

  3. 许多现代硬盘允许您减慢磁头移动速度。虽然这样做会增加访问时间,但也会降低噪音水平。要了解您自己的硬盘是否提供这种“声学模式”,您可以使用以下命令:

    hdparm -M /dev/sda
    

    如果等号后面有一个数字,如图 4(底部)所示,则可以使用以下方式将驱动器置于安静模式:

    hdparm -M 128 /dev/sda
    

    为了达到最高速度,请使用最大值:

    hdparm -M 254 /dev/sda
    

    允许使用 128 到 254 之间的值,从而在噪声级别和速度之间进行权衡。顺便说一句,您的 Linux 内核还必须支持声学管理,目前所有主要发行版都应该支持。

    有些 CD 和 DVD 驱动器更像是涡轮机:它们的高速旋转会妨碍音频/视频的享受。

    hdparm -E 4 /dev/sr0
    

    命令将提供缓解。参数 4 决定速度,/dev/sr0 指定 DVD 驱动器。此示例将驱动器读取速度降低九倍。

  4. 使用写回缓存,硬盘首先将要写入的数据存储在缓冲区中。这样,它可以更快地接受数据,最终实现更快的写入速度。

    hdparm -W /dev/sda

    命令通过在等号后面加上 1 来显示写回缓存是否处于活动状态;否则,您可以使用 -W1 开关激活该功能。

    如果 hdparm 不允许此更改,则需要确保 BIOS 中已激活写回缓存。但是,不建议在所有情况下都使用此功能:如果发生断电,缓冲区中的数据将永久丢失。

    如果系统上运行着对数据丢失敏感的程序(例如数据库),则应使用 -W0 开关关闭写回缓存。PostgreSQL 数据库的文档甚至明确建议这样做。

  5. 如果硬盘或 SSD 在一段时间内没有任何操作,它会自动进入睡眠模式。此省电功能可以通过 -B 参数来影响。因此,使用:

    hdparm -B255 /dev/sda

    将停用能源管理;但是并非所有驱动器都允许这样做。

    除了 255 之外,还允许使用 1 到 254 之间的值。值越高意味着使用的功率越大,但同时也保证了更高的性能或速度。1 到 128 之间的值允许驱动器关闭,而 129 到 254 之间的值则禁止发生这种情况。

    当值为 1 时,可以节省最多的电量;当值为 254 时,可以实现最高的数据传输速率(I/O 性能)。您可以使用以下命令调用当前值:

    hdparm -B /dev/sda
    

    不同值的具体效果取决于硬盘本身。但是,您应该记住,关机次数过多对台式机硬盘不利:每次关机时,硬盘都必须停下磁头,这会增加磨损。因此,您不应该每两秒唤醒一次硬盘——这总是需要两秒以上的时间。

    您可以设置硬盘在进入睡眠状态前应等待多少秒的空闲时间,

    hdparm -S 128 /dev/sda

    开关;但是,此处的该值不是秒数,而是 1 到 253 之间的数字。硬盘驱动器将该值乘以另一个值。示例中选择的值 128 介于 1 和 240 之间,驱动器使用 5 倍的倍数。因此,它将在闲置 640 秒后关闭。

    从 241 开始,倍增系数稳步增加。在 251 时,等待时间增加到 5.5 小时。在 253 时,该值由制造商预设,通常在 8 到 12 小时之间。值 254 被忽略;在 255 时,驱动器将等待 21 分 15 秒。值为 0 将完全停用睡眠模式。要立即让硬盘进入睡眠状态,请输入:

    hdparm -y /dev/sda
    

    大写 Y 表示驱动器将进入更深的睡眠状态。根据驱动器的不同,驱动器可能只有在重置整个系统后才能从深度睡眠中唤醒。

相关内容