我两年前买的一块 SSD 写入量惊人,通电时间是我 10 年前买的另一块 SSD 的 1/10,写入量居然相差不大,前者 21T, 后者 24T.
我就运行 iotop -ao 来观察,发现有一个叫 btrfs-transaction 的程序写入量远远高于其它进程。运行 6 个半小时的结果如下:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 49.71 K/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE> SWAPIN IO COMMAND
436 be/4 root 12.44 M 6.49 G ?unavailable? [btrfs-transaction]
252 be/4 root 304.00 K 844.02 M ?unavailable? [btrfs-transaction]
3082 be/4 yuan 26.58 M 380.68 M ?unavailable? chromium --force-dark-mode --enable-crashpad
284 be/4 root 0.00 B 190.99 M ?unavailable? systemd-journald
3101 be/4 yuan 0.00 B 44.14 M ?unavailable? chromium --force-dark-mode --enable-crashpad [Chrome_IOThread]
1006 be/4 postgres 0.00 B 30.74 M ?unavailable? postgres: stats collector
2160 be/4 yuan 0.00 B 30.52 M ?unavailable? python /usr/bin/ulauncher --hide-window --hide-window
13212 be/4 root 32.00 K 27.92 M ?unavailable? [kworker/u16:5-btrfs-worker]
1684 be/4 yuan 2.68 M 16.69 M ?unavailable? fcitx5
16863 be/4 root 16.00 K 14.52 M ?unavailable? [kworker/u16:12-events_freezable_power_]
1718 be/4 yuan 0.00 B 14.50 M ?unavailable? dropbox [APEX_CONTEXT_WO]
17412 be/4 root 16.00 K 13.17 M ?unavailable? [kworker/u16:8-events_unbound]
1543 be/4 yuan 0.00 B 13.00 M ?unavailable? onedrive --monitor
网上搜了一会没找到相差资料,有一篇文章说是 btrfs 的 autodefrag 在运行,我在 /etc/fstab 里把 noautodefrag 挂载选项加上重启了,但并没有什么效果。请问有朋友知道这玩意是啥,为啥一直在写磁盘吗?
最近编辑记录 yuan (2022-04-26 20:18:10)
达无先后
离线
btrfs-transaction 就是 btrfs 的线程啊。你不用管它。是有别的程序在往 btrfs 里写入数据导致的。
建议用 bcc-tools 里的 btrfsslower 来看哪些程序在写什么文件。
离线
btrfs-transaction 就是 btrfs 的线程啊。你不用管它。是有别的程序在往 btrfs 里写入数据导致的。
建议用 bcc-tools 里的 btrfsslower 来看哪些程序在写什么文件。
原来如此,多谢多谢。我试试。
达无先后
离线
btrfs-transaction 就是 btrfs 的线程啊。你不用管它。是有别的程序在往 btrfs 里写入数据导致的。
建议用 bcc-tools 里的 btrfsslower 来看哪些程序在写什么文件。
试了一下跑不起来…
ModuleNotFoundError: No module named 'bcc'
想跟 Linux 好好玩看来不得不学 Python.
但我有个疑问是,如果有其它程序在写数据,iotop 不会把它列出来吗?下面那些程序加起来的总和都没有 btrf-transction 的多呀。
达无先后
离线
啊,不是直接装 bcc-tools-git 这个包就好了吗?
我也不知道 iotop 是怎么搞的,感觉很多时候跟踪不到具体的程序,只会落到文件系统的线程上。btrfs 就是 btrf-transction,ext4 就是 jbd2。
离线
啊,不是直接装 bcc-tools-git 这个包就好了吗?
我也不知道 iotop 是怎么搞的,感觉很多时候跟踪不到具体的程序,只会落到文件系统的线程上。btrfs 就是 btrf-transction,ext4 就是 jbd2。
好吧,我装的是 community/bcc-tools, 晚点再试试。
---------------------------------
试了,也一样… T_T
最近编辑记录 yuan (2022-04-27 02:08:00)
达无先后
离线
啊,不是直接装 bcc-tools-git 这个包就好了吗?
我也不知道 iotop 是怎么搞的,感觉很多时候跟踪不到具体的程序,只会落到文件系统的线程上。btrfs 就是 btrf-transction,ext4 就是 jbd2。
观察了一下,似乎进程结束 iotop 就没有了。比如我开着 chromium, 用 iotop -a 能看见它的 IO 一直在涨,然后我把 chromium 关了,数据就从 iotop 上面消失了。再打开 chromium 它的 IO 又重新从 0 开始。
达无先后
离线
我也是用了btrfs,发现对ssd的写入量很离谱,目前已经加上了进程写入量、读取量、磁盘读写、磁盘smart信息的监控了
实在不行都想换ext4去试试了
至今没发现是什么原因导致的,读取量才1.7T,但是写入量已经11.8T了
离线
我也是用了btrfs,发现对ssd的写入量很离谱,目前已经加上了进程写入量、读取量、磁盘读写、磁盘smart信息的监控了
实在不行都想换ext4去试试了
至今没发现是什么原因导致的,读取量才1.7T,但是写入量已经11.8T了
是的,离谱得很,害得我损失了好多写入量。我发帖也是因为发现它写入量很离谱,自从发这帖没多久之后我就换 xfs 了。
最近编辑记录 yuan (2023-07-02 17:00:03)
达无先后
离线
我今天刚刚换成btrfs wwwwwwwww
离线
挂了两个小时写入160m还行
离线
挂了两个小时写入160m还行
建议持续观察...
“2019 年买的那块盘,通电时间 3757 小时,写入量 21T. 另一块 2012 年买的盘,10 倍的通电时间( 36767 小时),写入量 24T”
这是我之前的记录。2019 年的那块盘用的就是 btrfs 。
最近编辑记录 yuan (2023-07-03 09:09:12)
达无先后
离线
比我的要少 。我两个系统,分别是 29.26GiB/h 和 6.55GiB/h。
离线
我迁移到新硬盘上用 btrfs,写入是 16.36GiB/h,老硬盘 ext4 是 7.22GiB/h。
最近编辑记录 Tee (2023-07-03 10:25:44)
啦哆咪 - 用Linux制作音乐
https://lado.me
离线
Nirlvy 说:挂了两个小时写入160m还行
建议持续观察...
“2019 年买的那块盘,通电时间 3757 小时,写入量 21T. 另一块 2012 年买的盘,10 倍的通电时间( 36767 小时),写入量 24T”
这是我之前的记录。2019 年的那块盘用的就是 btrfs 。
最近不怎么用了就暂时这样吧:)之后有时间了观察下再换其他的
离线