首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZFS:如何降低或防止txg_sync的发生

ZFS:如何降低或防止txg_sync的发生
EN

Stack Overflow用户
提问于 2020-12-29 06:28:56
回答 2查看 2.8K关注 0票数 1

我有一个小型家庭服务器运行Debian,其中我有一个带有RAID的ZFS文件系统(ZFS: Loaded module v0.7.12-2+deb10u2, ZFS pool version 5000, ZFS filesystem version 5)。

由于服务器有时几天不使用,我配置了一个自动关机脚本,如果我的2大WD红色硬盘处于待机状态超过45分钟(不是系统硬盘),它就会关闭服务器。现在我发现服务器不再关机了,因为这两个驱动器只有几分钟的待机时间,然后才能再次活动。我用iotop进行了测试,发现使用txg_sync命令的ZFS正在唤醒它们。即使没有其他进程正在写入或读取驱动器上的任何内容。

在更改到安装数据池的目录后,我还使用fatrace -c进行了一次检查。此时没有输出,因为命令txg_sync弹出并唤醒驱动器。更新:因为fatrace似乎没有在ZFS中正常工作。

现在我使用了iosnoop,现在我知道dm_crypt经常在我的磁盘上写入。我的底层硬盘是用LUKS加密的。

代码语言:javascript
复制
./iosnoop -d 8,16
Tracing block I/O. Ctrl-C to end.
COMM         PID    TYPE DEV      BLOCK        BYTES     LATms
dmcrypt_writ 1895   W    8,16     2080476248   4096    6516.10
dmcrypt_writ 1895   W    8,16     3334728264   4096    6516.14
dmcrypt_writ 1895   W    8,16     2080429048   16384      0.16
dmcrypt_writ 1895   W    8,16     3334728272   20480      0.21
dmcrypt_writ 1895   W    8,16     2080476256   20480      0.16
dmcrypt_writ 1895   W    8,16     3328225336   16384      0.20

原因是什么,我怎样才能防止这种情况发生?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-30 07:55:29

https://github.com/openzfs/zfs/issues/8537#issuecomment-477361010

@niksfirefly如果要写入池,那么您应该希望看到txg_sync线程消耗的cpu和I/O。在多大程度上将取决于您的特定硬件、池配置(启用了哪些特性/属性)和工作负载。这对你的情况来说可能是正常的。

也许这个链接也有帮助:https://serverfault.com/questions/661336/slow-performance-due-to-txg-sync-for-zfs-0-6-3-on-ubuntu-14-04

如何检查每个进程的磁盘I/O利用率:

代码语言:javascript
复制
cut -d" " -f 1,2,42 /proc/*/stat | sort -n -k +3

这些字段是PID、命令和累积IO-等待滴答.这将显示您的热进程,但只有当它们仍在运行时。(您可能想忽略文件系统日志线程。)

(来自https://serverfault.com/a/466342/580935)

票数 3
EN

Stack Overflow用户

发布于 2021-01-02 06:20:44

关于ZFS的另一个说明。我使用的是Manjaro 20210101内核5.4,在过去几周中txg_sync负载很大。

根据/var/log/pacman.log

2020-12-31T08:58:24+0100升级zfs-utils (0.8.5-2 -> 2.0.0-2) 2020-12-31T08:58:24+0100升级的linux54-zfs (0.8.5-10 -> 2.0.0-6)

自那时以来,txg_sync进程也恢复了和平。

在Debian环境下,ZFS (及其版本)的使用肯定会有所不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65488188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档