Answers:
在Linux上时,您可以使用新的fatrace
实用程序,该实用程序记录每个文件的访问并告诉您哪个进程负责:
此处的更多信息:
http://www.piware.de/2012/02/fatrace-report-system-wide-file-access-events/
它利用了自linux内核2.6.37起可用的linux fanotify API(更多详细信息)。
fatrace
截至2014年7月,所有发行版都未打包该软件包(该软件包最近进入了debian测试,因此应以'jessie'发行),但易于从源代码安装。
http://en.wikipedia.org/wiki/Fuser_%28Unix%29-fuser是UNIX命令,用于显示哪些进程正在使用指定的文件,文件系统或套接字。
http://sourceforge.net/projects/hdparm/-在Linux下获取/设置ATA / SATA驱动器参数(查找-S选项)
http://sg.danny.cz/sg/sg3_utils.html-sg3_utils软件包包含将SCSI命令发送到设备的实用程序。以及传统上与SCSI关联的传输设备(请查看sg_start)
我有类似的问题。我有SSD(/dev/sdb
带操作系统)(基于Ubuntu Xenial的Linux Mint 18.1)和HDD /dev/sda
(带数据),我经常使用这些数据。两个磁盘均已加密。HDD的分区未安装。无论如何,HDD会在几分钟后唤醒,然后进入睡眠状态,然后再次唤醒。乱
这是一个重复的问题,有帮助的答案,建议auditd
您查找行为异常的过程。
apt-get install auditd
auditctl -w /dev/sda -p rwa
然后,我强迫HDD入睡hdparm -Y /dev/sda
。然后等待,直到听到HDD再次旋转。然后运行ausearch -f /dev/sda
。就我而言,它显示如下条目。
time->Sat Feb 25 12:38:17 2017
type=PROCTITLE msg=audit(1488022697.651:1744): proctitle=2F7573722F6C69622F756469736B73322F756469736B7364002D2D6E6F2D6465627567
type=PATH msg=audit(1488022697.651:1744): item=0 name="/dev/sda" inode=376 dev=00:06 mode=060660 ouid=0 ogid=6 rdev=08:00 nametype=NORMAL
type=CWD msg=audit(1488022697.651:1744): cwd="/"
type=SYSCALL msg=audit(1488022697.651:1744): arch=c000003e syscall=2 success=yes exit=12 a0=f3fb90 a1=800 a2=7f4745221f64 a3=30 items=1 ppid=1 pid=18520 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="pool" exe="/usr/lib/udisks2/udisksd" key=(null)
相关部分是exe =“ / usr / lib / udisks2 / udisksd”。虽然我也有smartmontools
其smartd
也是罪魁祸首。我通过卸载smartmontools
并停止了udisk2
服务service udisks2 stop
。之后,HDD将按预期休眠。
请注意,udisks2
例如,当我打开“ 磁盘”应用程序时,它将自动开始,因此我必须再次将其停止。另一个缺点是,两个磁盘均未监视SMART参数,这虽然不好,但是可以解决。
还有一个尚不清楚的事情是,该错误报告说udisks2
不会对磁盘进行轮询,而磁盘轮询现在由内核完成。但是证据似乎表明相反。