编辑:这最终是一个清理过程。运行zpool status -v
并清楚地读取池的扫描状态。
我有一台运行 FreeBSD 的 TrueNAS 服务器,今天早上 12 点开始不断读取磁盘。我以为这是某个快照任务,所以我禁用了快照并重新启动了服务器,但每次重新启动服务器时,它都会继续从我的存储池中读取。我也停止了所有正在运行的 jail,但磁盘仍然显示 IO(下面的屏幕截图是在 jail 正在运行时,但当 jail 停止时它们看起来相同)。
我不知道是哪个进程导致了这个问题。我尝试使用top -m io
,但显示没有 R/W 活动。
根据此资源,top -m io
在 FreeBSD 上不起作用,所以我无法找出哪个进程正在读取我的磁盘:
top io 模式无法正确显示统计数据
我尝试使用检查是否有任何正在运行的快照任务ps -aux | grep rsync
,但除了我的 grep 命令之外什么都没有显示。
以下是我检查过的一些资源:
- 确定 FreeBSD 下哪个进程负责大量磁盘 i/o(无用,推荐
top
) - 确定哪个进程导致磁盘 I/O 负担过重?(无用,建议
iotop
在 FreeBSD 上不可用)
是否可以让 top 命令工作?我只想知道哪个进程正在读取我的磁盘并将其终止。
答案1
跑步…
top -a -m io
…应该可以解决问题!如果没有与大量 I/O 相关的进程 - 那就是内核,你对此无能为力。我的意思是没有办法查询。
可能是 ZFS 执行了一些完整性检查/清理,所以这可能是一个很好的线索。看这里: