自从我拿到我的SSD(Crucial M4 - 256gb)之后,我遇到了一个问题,就像它在486上运行Windows 7一样慢,只要它用小文件做某事。我通过安装英特尔快速存储技术驱动程序/服务设法在Windows 7中“修复”了这个问题。
但是,在Linux(运行Ubuntu 13.04)中似乎没有驱动程序。我一直在尝试很多不同的解决方案,到目前为止它们似乎都没有。
我的SSD分区在一个EXT4分区中,安装为/。 我有一个单独的2TB硬盘,我挂在/ home上
以下是我抓住的有关块大小的一些信息:
# sudo blockdev --getbsz /dev/sda
> 4096
# sudo hdparm -I /dev/sda | grep -i physical
> Physical Sector size: 512 bytes
我的SSD的fstab条目如下所示:
UUID=c954288b-e1bd-4d3b-93ab-6a688210d070 / ext4 errors=remount-ro,relatime,barrier=0,noatime,nodiratime,discard,commit=120 0 1
正如你可以从选项中看到的那样,我已经尝试了很多东西,但它们似乎都没有正常工作。举个例子:使用“apt-get install vim”安装ViM需要2分钟。
一个完整的apt-get dist-upgrade花了4个半小时。我一直在普通硬盘(5200转/分钟)上运行Ubuntu,它比这快了很多。
根据parted,我的分区正确对齐。我已使用以下命令检查:
# sudo parted /dev/sda
<parted> align-check opt
partition: 1
> aligned 1
此外,当SSD“忙”时运行iotop时,我看到jbd2不间断消耗大约99%~100%的时间。
如果有人能够对这个问题有所启发,那将是非常棒的!
编辑:一些额外的信息:
运行hdparm -t / dev / sda给出以下输出(看起来对我来说完全没问题)
Timing buffered disk reads: 680 MB in 3.01 seconds = 226.16 MB/sec
空闲时iotop输出:
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2346 be/4 harold 0.00 B/s 31.04 K/s 0.00 % 0.00 % chrome
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
7 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u:0H]
有时在运行应用程序或其他繁重的东西时,这个过程“jbd2”会耗尽所有资源,而运行的实际应用程序(例如mysqld更新一些与数据库相关的东西或apt-get安装或更新软件)保持在3左右〜4%)
奇怪的是,有时它的工作正常(我试图重现问题在这里发布结果,但显然它是随机发生的)。我将更新下面iotop的输出,以及它再次出错的结果。
我觉得我的电脑现在正在拖着我:(
edit2:忘了添加一些额外内容(谢谢Craig Watson)
我的/etc/rc.local文件的内容如下所示:
echo deadline > /sys/block/sda/queue/scheduler
fstrim -v /
exit 0
在/ etc / default / grub里面,我得到了:
GRUB_CMDLINE_LINUX_DEFAULT="elevator=deadline"
在第一次尝试调度程序之后,我也添加了fstrim部分,因为我仍然没有使用调度程序获得任何好的结果。
提前致谢。
哈罗德。