在 FreeBSD 上查找哪个进程正在不断从磁盘读取数据

在 FreeBSD 上查找哪个进程正在不断从磁盘读取数据

编辑:这最终是一个清理过程。运行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 命令之外什么都没有显示。

以下是我检查过的一些资源:

是否可以让 top 命令工作?我只想知道哪个进程正在读取我的磁盘并将其终止。

答案1

跑步…

top -a -m io

…应该可以解决问题!如果没有与大量 I/O 相关的进程 - 那就是内核,你对此无能为力。我的意思是没有办法查询。

可能是 ZFS 执行了一些完整性检查/清理,所以这可能是一个很好的线索。看这里:

https://docs.oracle.com/cd/E36784_01/html/E36835/gammt.html

相关内容