PC가 멈췄습니까? 아니면 컴퓨터에서 시끄러운 CPU 팬 소음이 들리기 시작했습니까? Linux에서 CPU 사용률이 높은 데는 여러 가지 이유가 있지만 가장 일반적인 이유는 오작동하는 앱입니다. Linux에서 높은 CPU 사용량을 수정하는 방법을 알아보려면 계속 읽으십시오.
범인 찾기
오작동하는 앱은 가장 빠른 프로세서라도 무릎을 꿇게 할 수 있습니다. 시스템 모니터 앱 또는 top
을 사용할 수 있습니다. 터미널에서 문제가 있는 응용 프로그램을 찾으십시오.
터미널을 열고 top
을 입력합니다. , Enter 키를 누릅니다.
기본적으로 모든 프로세스는 CPU 사용률에 따라 정렬되며 가장 CPU를 많이 사용하는 프로세스가 맨 위에 표시됩니다. 앱이 CPU 사용률이 나머지 슬롯보다 훨씬 높은 상위 5개 슬롯 중 하나에 항상 있다면 범인을 찾은 것입니다.
Renice 또는 앱 종료
Top에는 renice와 kill 모두에 대한 지원이 포함되어 있으므로 이러한 도구를 사용하여 프로세스의 우선 순위를 변경하거나 강제로 중지할 수 있습니다.
앱의 좋은 우선 순위는 실행 중인 다른 프로세스와 비교하여 사용할 수 있는 CPU 리소스의 양을 나타냅니다. Nice는 +19에서 -20 사이의 값을 허용합니다. 숫자가 높을수록 우선 순위가 낮아집니다.
상단에서 r를 누르세요. 문제가 있는 앱의 PID를 입력합니다. "+5" 값으로 변경해 보십시오. 그래도 문제가 해결되지 않으면 "+10", "+15" 및 마지막으로 가능한 가장 낮은 우선순위인 "+19"로 다시 시도하십시오.
앱이 응답하지 않으면 즉시 중지해야 합니다. k 누르기 상단에 있는 동안 PID를 입력하고 Enter 키를 누르면 앱이 사라집니다.
전체 업데이트
앱을 실행할 때마다 문제가 지속된다면 앱을 업데이트하면 문제가 해결될 수 있습니다.
그렇게 하려면 터미널에서 다음을 입력하십시오.
sudo apt update && sudo apt -y upgrade
그런 다음 문제가 있는 애플리케이션을 다시 실행해 보세요.
앱 제거 및 다시 설치
문제가 해결되지 않으면 프로그램 구성의 잘못된 매개 변수로 인해 약간의 가능성이 있습니다. 원래 상태로 재설정하면 도움이 될 수 있습니다.
먼저, 문제의 원인이 아닌 경우 구성을 백업하고 나중에 복원하기로 결정합니다. 그런 다음 문제가 있는 앱을 제거합니다.
sudo apt purge APP_NAME
앱 재설치:
sudo apt update sudo apt install APP_NAME
이렇게 하면 앱이 원래 상태로 재설정됩니다.
이전 버전으로 되돌리기
앱을 업그레이드해도 문제가 해결되지 않으면 대신 이전 버전으로 되돌릴 수 있습니다. 최소한 개발자가 앱의 버그를 수정할 때까지 이전 버전을 다운그레이드하여 사용할 수 있습니다.
앱을 다운그레이드하려면 먼저 터미널을 실행하고 다음을 실행하여 사용 가능한 버전을 확인하십시오.
sudo apt policy APP_NAME
현재 설치된 버전 옆에 3개의 별표가 있습니다. 사용 가능한 다른 버전을 기록해 두십시오.
다운그레이드하기 전에 기존 버전을 제거하는 것이 좋습니다. 이렇게 하면 모든 구성 관련 문제가 제거됩니다.
다음을 사용하여 이전 버전을 설치하십시오.
sudo apt install APP_NAME=VERSION
대체 앱 사용
Linux의 좋은 점은 동일한 작업을 수행할 수 있는 앱이 많이 있다는 것입니다. 따라서 한 앱에서 높은 CPU 사용량을 유발하는 경우 다른 앱으로 교체할 수 있고 또 교체해야 합니다.
높은 CPU 사용량을 유발하는 핵심 앱 수정
CPU를 차지하는 것이 systemd 또는 Xorg와 같은 핵심 앱이면 어떻게 됩니까?
systemd의 경우 조이패드 및 프린터와 같이 컴퓨터에서 필수가 아닌 기능과 보조 장치를 비활성화해 보십시오.
장치가 조이패드, 마우스 또는 키보드이고 Ubuntu 또는 호환되는 배포판을 실행 중인 경우 xinput
을 입력하십시오. 연결된 모든 장치를 보려면 터미널에서 그 중 하나를 비활성화하려면 다음을 사용하십시오.
xinput --disable DEVICE_ID
기기를 다시 활성화하려면 disable
을 바꿉니다. enable
사용 위의 명령에서.
다른 장치의 경우 솔루션이 다소 복잡합니다. 먼저 lsmod
를 입력해야 합니다. 터미널에서 Enter 키를 눌러 Linux 커널이 모듈로 로드하는 모든 추가 드라이버를 확인합니다. 문제가 되는 장치를 찾아 이름을 기록해 둡니다. 그런 다음 다음을 입력하십시오.
sudo nano /etc/modprobe.d/blacklist.conf
방금 연 문서는 부팅 중에 로드하면 안 되는 모듈의 블랙리스트입니다. 아마도 이미 일부 항목이 채워져 있을 것입니다. 파일 끝으로 이동하고 동일한 구문을 따라 이 목록에 모듈을 추가합니다. 항목은 다음과 같아야 합니다.
blacklist MODULE_NAME
파일을 저장하고 재부팅하면 이제 모든 것이 제대로 작동할 것입니다.
Xorg의 경우 창 관리자의 합성기를 비활성화해 보십시오. 공식적으로 합성기는 CPU 관련 작업을 GPU로 오프로드하지만 항상 그런 것은 아닙니다. 때로는 합성 지원을 활성화하여 많은 까다로운 효과도 활성화할 수 있습니다.
때로는 GPU의 드라이버도 CPU 사용량을 높일 수 있습니다. Xorg는 특정 버전의 Nvidia 또는 AMD 드라이버와 어울리지 않았습니다. 솔루션은 다른 버전으로 업그레이드하거나 다운그레이드하는 것입니다. 또는 GPU 드라이버의 오픈 소스 버전을 사용해 볼 수 있습니다. 그러나 이들은 정확한 기능 세트를 공유하지 않으며 일부 기능이 부족할 수 있습니다.
커널 교체
Linux 커널이 CPU 사용률이 높은 이유는 드뭅니다. 그러나 해결책이 보이지 않는 상태에서 이 지점에 도달했다면 다른 방법을 시도해도 아무 것도 잃지 않을 것입니다.
공식 사이트에 명시된 대로 Ubuntu에 널리 사용되는 Liquorix 커널을 설치하려면 터미널을 방문하여 다음을 입력하십시오.
sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
이렇게 하면 저장소가 Ubuntu의 소스에 추가됩니다. 그런 다음 커널 자체를 온보드로 가져오려면 다음을 사용하십시오.
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
새 커널을 활성화하려면 재부팅하십시오. 그러면 CPU 사용률이 정상 수준으로 돌아올 것입니다.
이러한 솔루션 중 하나가 도움이 되었기를 바랍니다. 그렇지 않은 경우 taskset을 사용하여 애플리케이션에 CPU 코어를 수동으로 할당할 수도 있습니다. 마지막으로 OS를 처음부터 다시 설치하거나 다른 배포판으로 이동해야 할 때입니다.