저는 Red Hat Enterprise Linux 6.7의 회사 배포 리믹스를 실행하고 있습니다. 가끔씩 비연속적인 파일 읽기 활동으로 인해 하드 드라이브 속도가 느려지는 경우가 있는데, 이는 회사에서 제공한 Workstation Security Enforcement 응용 프로그램이 종료를 허용하지 않기 때문일 수 있다고 생각됩니다. 내 계획은 특정 파일을 읽고 있는지 확인하고, 그렇다면 해당 파일을 USB 3.0 스틱으로 옮겨 기계식 하드 드라이브보다 빠르게 읽을 수 있도록 하는 것입니다.
이 질문에 대한 답변을 검색했지만 유일한 옵션은 Linux Audit Subsystem( auditd
)을 사용하는 것 같고 전체 루트 파일 시스템에서 이를 사용하는 것이 가능한지 확실하지 않습니다.
답변1
inotifywait
이를 사용하여 파일 읽기를 모니터링 할 수 있습니다 . 불행히도 몇 분 후에 다음 오류와 함께 내 작은 가상 머신에서 명백한 호출이 충돌합니다 Couldn't watch /: Operation not permitted
.
inotifywait --monitor --recursive --event access /
하지만 이것은 작동합니다:
find / -mount -type f |
sort |
inotifywait --fromfile - --monitor --recursive --event access
디렉터리 모니터의 기본 수를 늘려야 할 수도 있습니다. 이 작은 코드 조각은 구성한 내용과 필요한 내용을 보여주고 필요한 경우 이를 강화합니다.
need=$(find / -mount -type d | wc -l)
got=$(cat /proc/sys/fs/inotify/max_user_watches)
echo "Got $got and need $need watches"
[[ $need -gt $got ]] && echo $((need + 100)) >/proc/sys/fs/inotify/max_user_watches