Centos 7을 새로 설치했는데 setroubleshootd의 CPU 사용량이 높은 것으로 나타났습니다. 이 문제를 어떻게 해결할 수 있나요? 이 프로세스는 무엇을 하고 있나요?
답변1
첫째, SELinux를 비활성화해서는 안 됩니다. 그렇다면 CPU 사용량이 높아지는 원인은 정확히 무엇입니까 setroubleshootd
?
를 입력하여 컴퓨터에서 SELinux가 실행 중인 모드를 알아보세요 sestatus
. 여러 줄이 표시되어야 합니다. 흥미로운 부분은 SELinux status:
합계입니다. Current Mode
일반적으로 enabled
합계입니다 enforcing
. 현재 모드가 이면 permissive
SELinux는 아무것도 차단하지 않고 기록만 합니다(문제 해결에 좋습니다).
SELinux가 활성화되어 있고 시행 모드에 있다고 가정하고 이제 로그를 살펴보세요 /var/log/audit/audit.log
. tail -f /var/log/audit/audit.log
파일의 실시간 변경 사항을 보려면 를 사용하는 것이 좋습니다 .
CPU 로드가 높기 때문에 setroubleshootd
파일에 영구적인 변경/항목을 적용했다고 가정합니다. 이는 SELinux 정책을 영구적으로 위반한 내용을 의미하며 출력에서 첫 번째 단서를 제공해야 합니다.
보다 심층적인 문제 해결을 위해 이 패키지는 SELinux 위반의 실제 원인을 찾는 데 도움이 되는 도구 세트를 setroubleshoot-server
설치할 수 있습니다. yum install setroubleshoot-server
이는 올바른 SELinux 권한을 설정하지 않고 시스템에 파일을 추가하거나 프로세스가 일반적이지 않은 파일이나 폴더에 액세스하려고 할 때 가장 자주 발생합니다.
나는 당신을 추천합니다먼저 SELinux에 관한 이 문서를 읽어보세요.그리고이 파일개요를 확인하고 확인해 보세요.이와 같은 파일귀하의 배포를 위해.
SELinux에는 약간의 학습 곡선이 있어 간단한 답변을 하기에는 너무 많지만 공용 서버에서는 절대로 비활성화하지 않을 것입니다.
답변2
a) setroubleshoot.x86_64
GUI를 설치하는 것이 GUI를 사용하는 것보다 쉬울 수 있습니다 tail
.
# yum install setroubleshoot.x86_64 setroubleshoot-plugins.noarch
(및 기타)에 대한 SE Linux 정책을 추가하면 mongodb
로드가 줄어들 수 있습니다.
이 문서의 조언은 때때로 도움이 되지 않거나 오해의 소지가 있을 수 있습니다.
b) 재설치는 setroubleshootd
옵션일 수 있습니다.
yum reinstall setroubleshoot-server
답변3
이것이 오래된 문제라는 점은 인정하지만 두 솔루션 모두 효과가 없었습니다. 내가 찾은이 답변: flatpak을 완전히 제거하면 과도한 CPU 사용량이 사실상 제거됩니다.
답변4
이 데몬은 setroubleshootd
SELinux(Security Enhanced Linux)의 일부입니다. SELinux는 보안을 강화하고 NSA 요구 사항을 준수하기 위해 파일에 대한 컨텍스트 유형을 제공하도록 설계되었습니다. SELinux를 잘못 구성하고 사용하면 문제가 발생할 수 있습니다. Setroubleshootd는 SELinux 문제를 모니터링 및 보고하고 솔루션 제안을 제공합니다.
SELinux를 실행하는 데 실제로 필요한지 여부를 결정하십시오. 그렇지 않은 경우 비활성화하십시오.
딸깍 하는 소리여기SELinux 비활성화에 대한 추가 정보