我买了一个 Transcend 64GB SSD(型号:TS64GSSD340)。
我将 SSD 放入我的一台小型上网本中。上网本规格如下:
- 品牌/型号:Acer V5-123
- CPU:AMD E1-2100,配备 Radeon HD 8210
- RAM:(原先是 4GB,但是我把 /tmp 放到了 tmpfs 中,所以升级到了 8GB)
这台上网本预装的是 Windows 8.1,但我移除了整个硬盘,换上了 Transcend 64GB SSD。然后,我在 SSD 上安装了 Xubuntu 14.04。Transcend
SSD 的固件信息如下:
$ sudo hdparm -I /dev/sda | grep -i 固件 固件版本:SVN263
我在网上查了一下,找不到此驱动器的任何(新/更新)固件文件。
根据在网上找到的各种说明,我进行了以下 SSD 优化:
- 在创建分区时(即安装时),驱动器上剩余约 4GB 未使用 + 未分配的空间
- 在 fstab 中添加了 noatime for /
- 在 rc.local 中添加了“fstrim -V /”,是的,我的 rc.local 始终是可执行的,因为我还有很多其他事情要做
- 从 cron weekly 中删除了 fstrim
- 确保 ff 缓存为 0
现在,真正的问题是驱动器速度非常慢。我的意思是,启动需要一分钟多的时间。启动 Firefox、终端、gedit 等需要很长时间。(在您跳到我身上之前...是的,我确实在这个系统上安装了很多软件,包括我最喜欢的编辑器 gedit)。
我目前唯一的比较点是时间,我的另一台笔记本电脑(富士通,酷睿 i3,8GB,500 GB 磁性硬盘)运行 Xubuntu 13.10。那台笔记本电脑启动不到一分钟,可能半分钟!但是,这款运行 Xubuntu 14.04 的 SSD 上网本启动速度很慢,应用程序启动速度也很慢。显然,我关于 SSD 会加速的假设是错误的!??
附加信息:Xubuntu 内核是3.13.0-30-通用(64 位)。
更新#1
我做了Arch wiki SSD 基准测试页面,按照建议@Tuknutx.每个测试进行四次:
- “sudo hdparam -Tt /dev/sda”生成“平均缓存读取速度为 1030.7125 MBps”和“平均缓冲读取速度为 362.2075 MBps”
- 使用空缓冲区缓存进行 dd 读取测试生成“平均读取速度为 383.5 MBps”
我编写了以下脚本(基于 Arch wiki SSD 基准测试页面的内容)来执行“dd 读取测试”:
# 首先创建一个文件 dd if = / dev / zero of =。/ tempfile bs = 1M count = 1024 conv = fdatasync,notrunc 对于我在 1 2 3 4 做 echo "运行编号 ${i} ..." # 然后清除缓冲区缓存 sudo bash -c“echo 3> /proc/sys/vm/drop_caches” # 现在读取文件 dd if=./tempfile of=/dev/null bs=1M count=1024 回声 完毕
我没有执行该页面上提到的其他测试。
更新#2
完成这些测试后,我做了一件事:我曾将“vm.vfs_cache_pressure=50”放入我的 /etc/sysctl.conf 中,但现在我将其删除。进行此更改并重新启动后,系统似乎在不到 30 秒的时间内启动(从“Acer”徽标到自动登录)。但我的假设是,事情应该比这更快,因为我的磁性硬盘驱动器给了我这种启动时间!
更新#3
我仍然必须遵循@Lekensteyn建议将 SSD 移到 core i3 笔记本上。我很快就会这样做并在此报告。
SSD 的速度不是应该非常快吗?
鉴于所有这些信息,您会建议我做什么来加快驱动器速度。
如果您能给我具体的指示(文本 + 命令)来加快驱动器速度,我将不胜感激。
更新# 4
各位!非常感谢你们的帮助性回复。但是,这个 SSD 太糟糕了,我把它扔出了窗外……不是开玩笑。让我知道如何关闭这个问题,因为没有必要浪费我们的时间在这款由 Transcend 生产并由印度 Flipkart 销售的低质量产品上。
再见!和平!
答案1
产品说明书列出了容量“32GB~256GB”的性能数据如下:
- 连续读取/写入 520MB/s、290MB/s
- 最大 4k 随机文件读取 69,000 IOPS
- 最大 4k 随机文件写入 68,000 IOPS。
事实是,SSD 的性能很大程度上取决于存储芯片的数量,而产品线的最小版本通常速度较慢,无法达到顶级型号的性能。
知道这一点,以下数据来自盖扎尔斯/吝啬鬼看起来更准确,但有点令人失望:
- 读取:364MB/s
- 写入:73MB/s
- IOPS 4k 读取/写入:33.096k/17.674k
是的,SSD 的访问速度更快,但低端型号的传输速度实际上可能低于 HDD。在购买之前,您应该阅读最新可用消费硬件的测试(使用真实数据和场景)(我读到的最后一个测试是关于840 EVO mSATA今年早些时候发布)。如果您正在寻找便宜货,请阅读去年硬件的测试并进行比较,以选择符合您期望的正确产品。
dd if=/dev/zero of=./tempfile bs=1M count=1024 conv=fdatasync,notrunc
客气地说,这是测试 HDD 性能最不可靠的方法,对于 SSD 来说更糟糕。SSD 上的控制器可能看到了所有传入的零,并存储了您写入 1 GiB 空值的信息。此外,真实数据不是由存储空间中某一部分的理想连续流组成的,因此使用真实数据和真实场景。
答案2
您正在启动时运行fstrim
,因此请将该时间添加到您的正常启动中。手动运行它以查看需要多长时间:
sudo fstrim -v /
您最好将每周的 cron 作业放回去,或者只是fstrim
手动运行。
另外,您不希望使用 中的“放弃”选项fstab
,因为这会影响性能。
答案3
大部分情况下,上网本 (即使配备了 SSD) 的运行缓慢都是由下列原因造成的。
- 较旧的 SATA 控制器(v1 或 v2),因为 SSD 通常可以充斥此通道,所以您通常只能获得 HDD 上大约 2 倍的 i/o。
- A真的速度慢或功能受限的 CPU、内存控制器、片上缓存和其他功能与功能齐全的 CPU 相比通常会减少。
- 操作系统安装臃肿
- 有限的 RAM
鉴于您正在运行轻量级操作系统(Xubuntu)并且您确实有一个 SATA 3 控制器并且有足够的 RAM,我建议在另一个系统中测试驱动器以确保无误。
根据评论进行编辑
答案4
我也遇到过很多 SSD 性能问题。我了解修剪、分区对齐、固件等。尤其是使用基于 Sandforce 的控制器时,我的性能真的很差。对于速度较慢的驱动器,有一种解决方案普遍有效:使用 JFS 文件系统。
不幸的是,在基于 Debian 的系统上,关机过程通常会导致不正常关机。这种情况经常发生在 upstart 和总是使用 systemd。但是,如果您不介意文件系统损坏的风险,JFS 总是可以修复它。您会发现这些 SSD 在 Windows 中也总是运行良好。我刚刚购买了基于 Phison S10 的 SSD,因为听说该控制器很好。嗯,同样的问题。使用 JFS 重新安装,效果很好。我的三星 EVO 850,在所有文件系统上都很棒。