아래 내용을 보면 문제의 원인은 pmlogger
find 명령의 생성인 것으로 보입니다. find
내 파티션 중 하나에 있는 모든 파일을 검색하는 데 시간이 오래 걸립니다. 그리고 이것이 내 백업 파티션이므로 거기에 많은 파일이 있을 것으로 예상됩니다.
솔직히 말해서 이전에는 이런 일이 발생하지 않았습니다. 몇 분 동안 읽기 IO가 급증한 다음 중지되지만 이제는 몇 시간이 걸립니다.
요청하시면 질문을 변경하겠습니다.
pmlogger에서 디렉터리나 파티션을 어떻게 제외해야 합니까? 전체 기능을 비활성화하는 것이 좋은 생각인지도 모르겠고 , 왜 그렇게 하려는지도 pmlogger
모르겠습니다 . pmlogger
따라서 백업 디렉터리를 제외할 수 있다면 pmlogger
문제의 범위를 더 좁힐 수 있을 것입니다.
감사해요
원래 질문
정확히 언제 시작했는지 잊어버렸습니다. 올바르게 기억한다면 모든 패키지를 업데이트한 것은 지난주였습니다. iotop에서 명령은 입니다 find . -daystart -name NoSuchFile
. 이 명령을 사용하여 초당 많은 파일을 열려고 하면 fatrace
읽는 파일에 대해 어떤 작업을 수행하는지 알 수 없습니다.
SELinux is preventing find from open access on the directory /sys/kernel/config.
SELinux는 또한 이것 과 일부 읽기 액세스에 대해 계속해서 설명합니다.irq, dev, usermodehelper, net, rpc 및 pcp.WXW8e2p7o.
누구든지 이 문제를 어떻게 처리해야 하는지 영감을 줄 수 있나요?
감사해요
편집하다
이는 시작한 후에만 발생하며 한 시간 정도 지속됩니다.
그런 다음 *7290을 실행하면 sudo fatrace | grep '(7290)'
pid를 찾습니다. 이것은 이것을 기록할 것이다
find(7290): RC /mnt/Time Machine/...
find(7290): O /mnt/Time Machine/...
find(7290): R /mnt/Time Machine/...
and so on...
그런데 해당 명령을 실행하면 랩탑의 두 번째 하드 드라이브(Ext4)에 액세스하게 됩니다. 이 드라이브는 2년 반 정도 된 것 같은데, 스마트 데이터를 확인해 보니 자가 테스트에 대한 전반적인 평가는 여전히 괜찮습니다.
이것은 무료 출력입니다.
total used free shared buff/cache available
Mem: 12140160 1820112 3253992 266344 7066056 9736188
Swap: 6143996 0 6143996
이것은 vmstat의 출력입니다.
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 1 0 3256144 4322284 2770984 0 0 893 28 761 1914 8 4 70 18 0
추가 수정사항
나는 pstree 명령을 발견했고 이것을 발견했습니다
systemd───pmlogger───pmlogger_check───pmlogger_daily───find
systmectl에서 pmlogger를 확인했습니다.
● pmlogger.service - Performance Metrics Archive Logger
Loaded: loaded (/usr/lib/systemd/system/pmlogger.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-12-27 11:37:16 PST; 38min ago
Docs: man:pmlogger(1)
Process: 1935 ExecStart=/usr/share/pcp/lib/pmlogger start (code=exited, status=0/SUCCESS)
Main PID: 7150 (pmlogger)
Tasks: 5 (limit: 4915)
Memory: 6.6G
CGroup: /system.slice/pmlogger.service
├─2043 /usr/bin/sh /usr/share/pcp/lib/pmlogger start
├─2047 /usr/bin/sh /usr/libexec/pcp/bin/pmlogger_check -V
├─7150 /usr/libexec/pcp/bin/pmlogger -P -r -T24h10m -c config.default -v 100mb -m pmlogger_check 20181227.11.37
├─7264 /usr/bin/sh /usr/libexec/pcp/bin/pmlogger_daily -K -V
└─7290 find . -daystart -name NoSuchFile
Dec 27 11:37:05 fedora-acer systemd[1]: Starting Performance Metrics Archive Logger...
Dec 27 11:37:05 fedora-acer pmlogger[1935]: Starting pmlogger ...
Dec 27 11:37:05 fedora-acer systemd[1]: pmlogger.service: Can't open PID file /run/pcp/pmlogger.pid (yet?) after start: No such file or directory
Dec 27 11:37:16 fedora-acer systemd[1]: pmlogger.service: Supervising process 7150 which is not our child. We'll most likely not notice when it exits.
Dec 27 11:37:16 fedora-acer systemd[1]: Started Performance Metrics Archive Logger.