CPU 사용량 100% 문제를 해결하는 방법

藏色散人
풀어 주다: 2021-05-12 15:34:57
원래의
16423명이 탐색했습니다.

CPU 사용량 100% 해결: 먼저 높은 CPU 사용량에 영향을 미치는 특정 프로세스를 찾은 다음 높은 CPU 사용량에 영향을 미치는 프로세스가 정상인지 확인하고 최종적으로 이를 분류하고 처리합니다.

CPU 사용량 100% 문제를 해결하는 방법

이 문서의 운영 환경: Windows Server 2008 시스템, Dell G3 컴퓨터.

CPU 사용량 100% 문제를 해결하는 방법은 무엇입니까?

개요

이 문서에서는 주로 Windows 인스턴스의 높은 CPU 사용량 문제에 대한 문제 해결 및 솔루션을 소개합니다.

Details

Alibaba Cloud는 다음 사항을 상기시켜 드립니다.

  • 인스턴스 또는 데이터 수정이나 변경과 같은 위험한 작업이 있는 경우 인스턴스의 재해 허용 및 내결함성에 주의하여 데이터 보안을 보장해야 합니다.
  • 인스턴스(ECS, RDS를 포함하되 이에 국한되지 않음) 등에 대한 구성 및 데이터 수정을 하는 경우 미리 스냅샷을 생성하거나 RDS 로그 백업 및 기타 기능을 활성화하는 것이 좋습니다.
  • Alibaba Cloud 플랫폼에서 로그인 계정, 비밀번호 등의 보안 정보를 승인했거나 제출한 경우 적시에 수정하는 것이 좋습니다.

이 글에서는 주로 다음 단계를 소개합니다.

포지셔닝 문제. CPU 사용량을 높이는 특정 프로세스를 찾으십시오.

분석 및 처리. CPU 사용량이 많은 프로세스가 정상인지 확인하고 분류하여 처리합니다.

  • 일반 프로세스의 경우: 프로그램을 최적화하거나 서버 구성을 업그레이드해야 합니다.
  • 비정상 프로세스의 경우: 프로세스를 수동으로 확인하고 종료하거나 타사 보안 도구를 사용하여 확인하고 종료할 수 있습니다.

작업 예시. 구체적인 문제 해결 및 솔루션 프로세스를 소개합니다.

자세한 정보. 문제 해결 도구 사용을 소개합니다.

문제 찾기

Microsoft에는 작업 관리자, 리소스 모니터(리소스 모니터), 성능 모니터(성능 모니터), 프로세스 탐색기, Xperf(Windows Server 2008 이후), KernRate(Windows Server 2003), 검사를 위해 시스템 전체 메모리 덤프를 가져옵니다. 트래픽이 많은 경우 Wireshark를 사용하여 일정 기간 동안 네트워크 패킷을 캡처하고 트래픽 사용량을 분석할 수도 있습니다.

Tips: Windows Server 2008 이상 시스템은 일반적으로 시스템과 함께 제공되는 리소스 모니터를 사용하여 CPU를 모니터링합니다.

  • 바탕화면 하단의 시작 메뉴를 클릭하고 실행을 선택하세요.

  • 실행 상자를 연 후 상자에 perfmon -res를 입력하고 OK를 클릭하세요.

CPU 사용량 100% 문제를 해결하는 방법

  • 리소스 모니터 페이지에서 각 프로세스의 CPU 사용량이 높은지 확인하세요.

CPU 사용량 100% 문제를 해결하는 방법

  • 더 높은 리소스를 차지하는 프로세스의 경우 해당 프로세스 ID와 프로세스의 프로그램 이름을 확인하세요.

  • 프로세스 ID를 찾은 후 작업 관리자를 사용하여 프로그램의 비정상 여부를 확인하고 프로그램의 구체적인 위치를 찾으세요.
  1. 비정상 프로세스를 찾기 전에 작업 관리자에서 보기(V)> 열 선택(S)을 클릭해야 합니다.
    CPU 사용량 100% 문제를 해결하는 방법
  2. 팝업 상자에서 PID(프로세스 식별자)를 선택하고 확인을 클릭하세요.
    CPU 사용량 100% 문제를 해결하는 방법
  3. 작업 관리자의 프로세스 페이지에 PID 항목이 추가됩니다. PID를 클릭하고 정렬하여 이전에 리소스 모니터에서 본 비정상적인 프로세스를 찾습니다. 프로세스 이름을 마우스 오른쪽 버튼으로 클릭하고 파일 위치 열기를 선택하여 해당 프로세스가 악성 프로그램인지 확인합니다.

분석 및 처리

CPU 사용량 과다 분석 및 처리

CPU 사용량에 영향을 미치는 프로세스가 정상 프로세스인지 비정상 프로세스인지 판단하고 분류하여 처리해야 합니다.

과도한 정상 사용량 분석 및 처리

정상적인 상황에서는 고객이 업체에 자주 접속하거나 Windows 자체 서비스(업데이트 서비스 등)로 인해 높은 네트워크 트래픽과 CPU를 점유할 수 있습니다. 정상적인 프로세스로 인해 CPU 사용량이 높은 경우, 다음 순서에 따라 하나씩 문제를 해결하시기 바랍니다.

Tips: Windows Server 2008 또는 Windows Server 2012 인스턴스의 메모리 구성은 2G 이상인 것이 좋습니다.

  • Windows 업데이트가 백그라운드에서 실행되고 있는지 확인하세요.

  • 바이러스 백신을 위해서는 서버에 바이러스 백신 소프트웨어를 설치하는 것이 좋습니다. 바이러스 백신 소프트웨어를 설치한 경우, CPU 사용량이 높을 때 바이러스 백신 소프트웨어가 백그라운드에서 검사 작업을 수행하는지 확인하세요. 가능하다면 백신 소프트웨어를 최신 버전으로 업그레이드하거나 백신 소프트웨어를 삭제하시기 바랍니다.

  • ECS 내의 애플리케이션에 대량의 디스크 액세스, 네트워크 액세스 동작 또는 높은 컴퓨팅 요구 사항이 있는지 확인하십시오. 구성 업그레이드와 같은 리소스 병목 현상을 해결하려면 인스턴스 사양을 늘리고 더 많은 코어 또는 메모리 사양을 사용해 보십시오.

  • 서버 구성이 높으면 구성을 업그레이드하는 것이 별 의미가 없습니다. 아키텍처 측면에서 서버 구성이 높을수록 좋다는 의미는 아닙니다. 이때 애플리케이션 분리와 관련 프로그램 최적화를 동시에 시도해야 합니다. 예시 지침은 다음과 같습니다.

문제 설명: MySQL, PHP, Web 등 여러 애플리케이션을 서버에 동시에 배포하는 경우 구성이 상대적으로 높더라도 리소스 부하 이상이 발생하기 쉽습니다.
Solution: 애플리케이션 분리를 시도하고 다양한 서버를 사용하여 다양한 애플리케이션을 호스팅하세요. 예를 들어, 데이터베이스는 RDS에 의해 완전히 호스팅되므로 서버 자체의 리소스 소비와 서버 내의 많은 호출 수를 줄입니다. 프로그램 최적화 측면에서는 연결 수 및 캐시 구성 조정은 물론 웹 및 데이터베이스 호출 중 다양한 매개변수 조정 등 자신의 구성에 따라 조정할 수 있습니다.

비정상적으로 높은 사용량 분석 및 처리

CPU 사용량이 비정상적으로 높은 경우 악성 바이러스 및 트로이 목마에 의해 발생할 수 있습니다. 때로는 타사 악성 프로그램이 운영 체제의 svchost.exe 또는 Tcpsvcs.exe를 사용하여 자신을 위장하여 CPU 사용량을 높일 수 있습니다. 비정상적인 프로세스를 수동으로 감지하고 종료해야 합니다.

Tips: 프로세스가 바이러스인지 트로이 목마인지 판단할 수 없는 경우 온라인에서 프로세스 이름을 검색하여 확인하는 것이 좋습니다. 또한, 프로세스를 삭제하기 전에 미리 스냅샷을 생성하여 백업을 완료하는 것이 좋습니다.

  • 상용 바이러스 백신 소프트웨어를 사용하거나, Microsoft의 무료 보안 도구인 Microsoft Safety Scanner를 사용하여 안전 모드에서 바이러스를 검사하고 바이러스 백신을 사용하세요. 도구 링크는 다음과 같습니다.
  • https://www.microsoft.com/security/scanner/zh-cn/default.aspx
  • Windows 업데이트를 실행하여 최신 Microsoft 보안 패치를 설치하세요.

  • MSconfig를 사용하여 Microsoft 이외의 모든 서비스 드라이버를 비활성화하고 문제가 다시 발생하는지 확인하세요. 특정 작업은 Windows 시스템에서 클린 부팅을 수행하는 방법을 참조하세요.

  • 서버나 사이트가 DDoS 공격이나 CC 공격을 당할 경우 짧은 시간 내에 대량의 접속 요구가 발생하게 됩니다. 클라우드 보안 센터에 로그인하여 Cloud Shield의 DDoS 공격에 대한 보호 임계값이 조정되었는지 확인하고 CC 보호가 켜져 있는지 확인할 수 있습니다. 공격이 임계값을 트리거하지 않고 Cloud Shield가 치료되지 않은 경우 애프터 서비스에 문의하여 치료를 시작할 수 있습니다.

작업 예시

CPU 사용량이 높은 원인은 다음과 같습니다.

  • 바이러스 트로이 목마 침입.
  • 타사 바이러스 백신 소프트웨어가 실행됩니다.
  • 애플리케이션 예외, 드라이버 예외, 높은 I/O 사용량 또는 높은 인터럽트 처리 애플리케이션.

Tips: Windows Server 2012의 1코어 1GB 인스턴스를 사용하는 경우 Windows 업데이트 서비스가 자동으로 업데이트되며 인스턴스의 CPU 사용량이 갑자기 증가하는 것은 정상적인 현상입니다.

Solution

Tips: 이 문서에서는 Microsoft의 공식 문서와 도구 링크를 많이 인용합니다. 저작권 및 소유권은 Microsoft에 속합니다. 적시에 업데이트되지 않습니다.

  • CPU 사용량이 높을 때 Windows 업데이트 프로세스가 백그라운드에서 실행되고 있는지 확인하세요.

  • 바이러스 백신 소프트웨어가 백그라운드에서 검사 작업을 수행하고 있는지 확인하세요. 바이러스 백신 소프트웨어를 최신 버전으로 업그레이드하거나 바이러스 백신 소프트웨어를 삭제할 수 있습니다.

  • Run을 클릭한 다음 MSCONFIG을 입력하고 Microsoft 이외의 서비스 드라이버를 모두 비활성화한 다음 문제가 다시 발생하는지 확인하세요. 관련 참고문서는 다음과 같습니다.

  • Windows에서 클린 부팅을 수행하는 방법

  • 상용 바이러스 백신 소프트웨어 또는 Microsoft Security Scanner를 사용하여 안전 모드에서 바이러스를 검사하세요. Microsoft Security Scanner에 대한 참조 문서는 다음과 같습니다.

  • Microsoft Security Scanner

  • Windows 업데이트를 실행하여 최신 Microsoft 보안 패치를 설치하세요.

  • ECS 인스턴스에 대용량 디스크 액세스, 네트워크 액세스 및 높은 컴퓨팅 요구 사항이 있는 경우 CPU 사용량이 높은 것은 일반적으로 인스턴스 사양을 업그레이드하여 부족한 리소스를 처리할 수 있습니다. 인스턴스 사양 업그레이드 방법에 대한 내용은 다음 문서를 참고하시기 바랍니다.

  • 업그레이드 및 다운그레이드 방법 요약

더 많은 솔루션을 보려면 다음 Microsoft 문서를 참조하세요.

추가 정보

다음은 Windows 인스턴스 문제 해결 도구에 권장되는 관련 내용입니다.

작업 관리자

  • 애플리케이션 목록을 시각적으로 확인하고 더 높은 CPU를 차지하는 애플리케이션을 찾으세요. 다음은 작업 관리자 페이지입니다.
    CPU 사용량 100% 문제를 해결하는 방법
  • 성능 페이지에서 CPU 사용량을 확인하는 동안 CPU 사용량 그래프를 마우스 오른쪽 버튼으로 클릭하고 를 클릭하여 그래프를 > 아래 그림은 4개의 논리적 CPU의 사용량을 보여줍니다.
    CPU 사용량 100% 문제를 해결하는 방법단일 프로세스의 CPU 사용량이 100%에 가깝게 치솟고 다른 프로세스의 CPU 사용량은 크게 변하지 않는 경우 네트워크 I/O 처리로 인해 발생할 수 있습니다.
  • 리소스 모니터

CPU 사용량을 시각적으로 확인하고, 핸들과 모듈별로 해당 프로세스를 검색할 수도 있습니다.

CPU 사용량 100% 문제를 해결하는 방법

Process Explorer

성능 모니터

  • 성능 모니터(성능 모니터)는 다양한 구성 요소의 성능 카운터를 수집하기 위한 Microsoft의 전문 도구입니다. 시스템 CPU 리소스 소비에 대해서는 확인할 카운터가 여러 개 있습니다. 시작 > 실행 > perfmon을 클릭하여 성능 모니터를 엽니다.
  • 성능에는 다음 세 가지 핵심 매개변수가 있습니다. 그 중 Processor(_Total)% Processor TimeProcessor(*)% User TimeProcessor(*)% Privileged Time의 합입니다. . Processor(_Total)% Processor TimeProcessor(*)% User TimeProcessor(*)% Privileged Time之和。
    • Processor(_Total)% Processor Time
    • Processor(*)% User Time
    • Processor(*)% Privileged Time
  • Processor(*)% Privileged Time是应用程序在内核中执行系统调用(例如驱动、IRP,上下文切换等)操作的时间。如果操作系统花费多余30%的时间在Privileged Time,如下图所示,则说明实例正在进行高I/O吞吐相关的操作。
    CPU 사용량 100% 문제를 해결하는 방법
  • % Privileged Time很高时,需要进一步检查% DPC Time% Interrupt Time以及Context Switches/sec的情况。
  • % DPC Time% Interrupt Time很高时,需使用Microsoft  Xperf工具进一步分析,请参考如下文档使用XPerf工具。
  • Context Switch值很高时,请参考如下文档。
  • Processor(*)% User Time表示处理器用于执行程序代码的时间消耗,可以确定哪个应用程序或函数调用消耗了较多的时间。
  • User Time
    프로세서(_Total)% 프로세서 시간CPU 사용량 100% 문제를 해결하는 방법프로세서(*)% 사용자 시간
  • 프로세서(*)% 권한 시간

    Processor(*)% Privileged Time은 애플리케이션이 커널에서 시스템 호출(예: 드라이버, IRP, 컨텍스트 스위치 등)을 수행하는 시간입니다. 아래 그림과 같이 운영 체제가 특권 시간에서 30% 이상의 시간을 소비한다면 인스턴스가 높은 I/O 처리량과 관련된 작업을 수행하고 있음을 의미합니다.
  • B6FA8B3AE4FF1 9933ab1abf9b7bafa.png

% 권한 시간이 높으면 % DPC 시간, % 인터럽트 시간컨텍스트 스위치/초에 대한 추가 확인이 필요합니다. 상황. 🎜🎜높은 % DPC 시간% 인터럽트 시간은 알 수 없는 장치에 많은 작업이 있거나 성능 저하 문제가 있음을 의미합니다. 다음 문서를 참조하세요. 🎜🎜🎜자신만의 모험 선택: 높은 지연 프로시저 호출(DPC) 또는 높은 인터럽트🎜🎜🎜🎜🎜컨텍스트 스위치/초가 높다는 것은 많은 것을 의미합니다. of 스레드가 Ready 상태이므로 문제를 해결하려면 스레드 수를 줄여야 합니다. 🎜🎜🎜🎜% DPC Time% Interrupt Time이 매우 높은 경우 추가 분석을 위해 Microsoft Xperf 도구를 사용해야 합니다. 사용하려면 다음 문서를 참조하세요. XPerf 도구. 🎜🎜🎜Windows IT Pro Magazine: Examining xPerf🎜🎜🎜🎜🎜Context Switch 값이 매우 높을 경우, 다음 문서를 참고하시기 바랍니다. 🎜🎜2백만 개의 컨텍스트 스위치 사례🎜🎜🎜Mark Russinovich의 시스템 프로세스 CPU 스파이크 사례🎜🎜🎜🎜🎜Processor(*)% User Time프로세서가 프로그램 코드를 실행하는 데 소비한 시간을 나타내며, 이에 따라 어떤 응용 프로그램이 결정될 수 있습니다. 또는 함수 호출에 더 많은 시간이 소요됩니다. 🎜🎜사용자 시간이 높은 상황은 아래 그림과 같습니다. 🎜🎜🎜🎜🎜🎜🎜적용 가능 🎜🎜🎜클라우드 서버 ECS🎜🎜🎜

위 내용은 CPU 사용량 100% 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
cpu
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!