什么进程偶尔访问已挂载的文件系统?

MLu*_*MLu 5 filesystems solaris autofs open-files

我有一个带有 autofs 挂载主目录的 Solaris 10 服务器。在一台服务器上,它们不会在 10 分钟超时期限后卸载。我们有AUTOMOUNT_TIMEOUT=600/etc/default/autofs,我跑automount -t 600,禁用和重新启用svc:/system/filesystem/autofs:default服务,似乎没有任何工作。

我怀疑系统上的某些东西会定期访问所有已挂载的文件系统,可能会检查它们是否可访问,从而重置自动挂载程序超时,而该超时又永不过期。这得到了我刚刚做的一个测试的支持 - 如果我将超时设置为 10 秒,挂载点将被卸载,看起来 10 秒比某些东西正在进行检查并且计时器有机会到期的时间段短。

问题是我怎样才能找到什么进程正在这样做?服务器是一个大量使用的生产系统,我不能对它做任何危险的实验。

请注意,文件系统不会保持打开状态,可以手动卸载。那东西很可能将通过挂载点挂载点,光盘,光盘拿出来,继续前进,往往足以阻止automount来自其卸载。但它不会保持打开状态,因此使用lsof或不可见fuser -c。我想在它访问挂载点时立即捕获或记录它以了解它在做什么。

FWIW 它是相当强大的 Solaris 10 主机 (Sparc / M5000) 上的 Solaris 10 区域。

小智 4

您可以尝试使用 rwsnoop ( http://dtracebook.com/index.php/File_System:rwsnoop ) 来使用 dtrace 监视 i/o 访问:

# rwsnoop - snoop read/write events.
#           Written using DTrace (Solaris 10 3/05).
#
# This is measuring reads and writes at the application level. This matches
# the syscalls read, write, pread and pwrite.
Run Code Online (Sandbox Code Playgroud)

祝你好运!