Gra*_*ham 16 partitioning ssd btrfs ext4 11.10
我应该为办公机器的 Ubuntu 11.10 (Oneiric) amd64 桌面根分区的 SSD 使用 btrfs(带有丢弃、压缩=lzo 和 space_cache 选项)还是 Ext4(带有丢弃选项)?
/home 将是 HDD,因此 fs 可靠性影响操作系统而不是我的数据。
小智 13
根据phoronix的测试,它总是取决于许多因素。在一种情况下Btrfs会比EXT4读取 SSD 上的大文件要好得多。同样在考虑 Disk 事务性能时,Ext4可以表现得比后者更好。
但总而言之,即使在 SSD 模式下使用,Btrfs 现在也不比 EXT4 文件系统具有定量的性能优势。
所以你Ext4现在可以选择。
小智 7
对于那些在 2016 年遇到这个问题的人......使用 ext4。我试过 btrfs,差别很大。在 10 天的时间内,向 ext4 写入的 IO 达到 17,800 个扇区。Btrfs?490,400 个扇区。相同的 SSD,相同的文件系统,不同的分区。基本上,相同的工作量。
当驱动器上的写入活动为零时,ext4 和 btrfs 都会“安静”。那挺好的。
Ext4 将写入修改后的数据,加上一些开销。开销与写入的数据有关。4K 写入(1 块)在下一次提交时会推送大约 50-80 块的开销。(ext4 日志已完全启用)
在 btrfs 上修改单个 4K 块,您将在下一次提交时推送 4000-5000 块之间的开销。我相信默认提交是 30 秒。我用了120。
现在,这取决于您如何使用 SSD。作为 root,通常会有相当稳定的低级别写入流在进行。日志文件、ntp 漂移文件、man db 重建、opensm 拓扑更新等。每个事件都会用另外 4000-5000 次写入重击 btrfs 驱动器。
上面的 10 天数字适用于我的“写限制”SSD。这 17,800 个扇区中的大部分是小规模系统更新的结果。一个 btrfs 副本没有受到影响。我的作者正是 ntp 漂移、opensm 拓扑和 man db 更新(每晚)。除了系统升级vim /etc/whatever等主动发起的事情外,没有其他东西会命中该磁盘。
总的来说,SSD 会遭受大量写入,真的。我只是看不出浪费它们的意义,因为新闻媒体正在追逐兔子和彩虹。如果你想为COW支付这个价格,那就去吧。对于“性能”,不是那么多。它是一个 SSD,您可能会在其上放置人类已知的最糟糕的“文件系统”,并且仍然可以获得一定程度的性能 - 仅靠蛮力。到目前为止,Ext4 并不是人类已知的最糟糕的文件系统。
没有每月 fs 检查。试试下面的脚本。这是 100% hack,不适用于 md 挂载点,
#! /bin/bash
dev=`cat /proc/mounts | grep " $1 " | awk '{print $1}'`
x=`basename $dev`
vmnam=`lsblk $dev -o MOUNTPOINT,PKNAME | grep "$1" | awk '{print $2}'`
vmx=`vmstat -d | grep $vmnam | awk '{print $8}'`
lbax=`smartctl -a $dev | grep LBA | awk '{print $10}'`
tmpnam=`mktemp XXX`
echo "Tracking device: $dev, mounted on $1 (vmstat on $vmnam)"
tim=`date +%s`
timx=`date +%s`
while true
do
vm=`vmstat -d | grep "$vmnam" | awk '{print $8}'`
lba=`smartctl -a $dev | grep LBA | awk '{print $10}'`
if [ "$vm" != "$vmx" ]
then
tim=`date +%s`
dif=`dc <<< "$vm $vmx - p"`
lbad=`dc <<< "$lba $lbax - p"`
timd=`dc <<< "$tim $timx - p"`
echo `date` " (sec=$timd) writes=$vm (dif=$dif) (lba=$lbad)"
vmx="$vm"
lbax="$lba"
timx="$tim"
find "$1" -mount -newer "$tmpnam" -print | grep -v "/tmp"
touch "$tmpnam"
fi
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
它会告诉您根据驱动器本身写入了多少块,以及更新了哪些文件。需要root权限。你自己看。我在根文件系统上运行 SSD,并调用脚本 stat.sh。所以...sudo ./stat.sh /
| 归档时间: |
|
| 查看次数: |
27151 次 |
| 最近记录: |