ログにメッセージを表示せずに `ioerr_cnt`が上昇するのはなぜですか?
私はこれをどのプロセスで行うのかを理解するのに少し苦労しています。
sudo lsof +D /dev/
現在開いているSCSIデバイスのプロセスは表示されないようですが、エラー時に関連するopen()呼び出しも表示されません(cd /dev && sudo fatrace -c
)...[回答:] udisksは、たとえばSMARTデータの場合、10分ごとにドライブをポーリングします。
$ ps -ax|grep udisksd 810 ? Ssl 0:13 /usr/libexec/udisks2/udisksd $ sudo strace -t -f -p 810 [pid 810] 14:11:09 clone(strace: Process 26543 attached child_stack=0x7f8fc551ddf0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f8fc551e9d0, tls=0x7f8fc551e700, child_tidptr=0x7f8fc551e9d0) = 26543 [pid 26543] 14:11:09 set_robust_list(0x7f8fc551e9e0, 24 <unfinished ...> [pid 810] 14:11:09 poll([{fd=4, events=POLLIN}, {fd=8, events=0}, {fd=9, events=0}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}], 5, 599968 <unfinished ...> [pid 26543] 14:11:09 <... set_robust_list resumed> ) = 0 [pid 26543] 14:11:09 prctl(PR_SET_NAME, "pool") = 0 [pid 26543] 14:11:09 openat(AT_FDCWD, "/dev/sda", O_RDONLY|O_NONBLOCK) = 14 [pid 26543] 14:11:09 ioctl(14, SG_IO, {guard='Q', protocol=BSG_PROTOCOL_SCSI, subprotocol=BSG_SUB_PROTOCOL_SCSI_CMD, ...
fatrace
このデバイスがudiskによって開かれていることが表示されなかった理由がわかりません。他のデバイスが開いていることをなんとか表示しました(lsofを実行したとき、またはFirefoxを起動して/ dev / dri / card0を開いたときなど)。
^誰か知っていますか?
そのようでfatrace
は表示されません任意のデバイスが表示されます。これを使用して、のような下のディレクトリを開いているプロセスを確認できますが/dev
、のような/dev/dri
デバイスノードは確認できません/dev/dri/card0
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加