b4t*_*too 19 linux debian io kernel hdd
我最近为我的 Debian 服务器购买了一个新的 16TB 硬盘。我首先通过我的类似 Ubuntu 的桌面在其上创建了一个分区 (gpt),对其进行了格式化 (ext4),并在其上 rsync 了旧数据。该磁盘现在可以使用,因此我将其插入到我的服务器中。现在开始一个我无法识别的奇怪的 I/O。
iotop -ao
报告 3MB/s,Current DISK WRITE
但没有任何迹象表明是谁在执行此操作fatrace -c -t
报告没有写入或读取,但如果我自己有touch
一个文件,请报告它。dstat -tdD /dev/sdx --top-io
报告每秒稳定的 3072k 写入,与 一致iotop
,但也没有罪魁祸首,只是在i/o process
应该有名称的地方有一个空白,但它确实确认了 I/O 操作是在所述磁盘上,这是我最初推断的它发出的噪音……现在我知道 iotop 标头显示的内容与 I/O 写入和/或从进程读取的总和之间可能存在不一致,如此处所述。但与之前的帖子相反,当时:
几个小时后(至少 10,不超过 20)噪音消失了,磁盘上不再有 3MB/s 的输入。
我的问题是:编写一些缓存系统、初始化表或类似的东西可以解释这个恒定的 3MB/s 写入 10-20 小时是否是正常行为(虽然我以前从未观察到过)(可能来自内核?) ?
我最初想到的是加密/随机病毒,但即使以 3MB/s 的速度运行 20 小时也不可能覆盖 16 个可用磁盘上写入的 12TB。
这有什么合乎逻辑的解释吗?
sho*_*hok 34
您注意到的后台 IO 负载是由于 ext4 延迟 inode 表分配造成的。从mke2fs
手册页:
lazy_itable_init[= <0 to disable, 1 to enable>]
If enabled and the uninit_bg feature is
enabled, the inode table will not be fully
initialized by mke2fs. This speeds up file
system initialization noticeably, but it
requires the kernel to finish initializing the
file system in the background when the file
system is first mounted. If the option value
is omitted, it defaults to 1 to enable lazy
inode table zeroing.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2804 次 |
最近记录: |