PowerFlex: CPU 개념 및 문제 해결
Summary: CPU 개념 및 기본 문제 해결은 알 수 없거나 경우에 따라 혼동될 수 있습니다. 이 KB는 CPU 관련 정보 및 문제 해결 방법을 제공합니다.
Instructions
개념 설명
-
CPU(Central Processing Unit) - CPU는 컴퓨터 프로그램의 명령을 수행하는 하드웨어입니다.
컴퓨터 시스템의 기본 계산, 논리 및 입력/출력 작업을 수행합니다.
일반적으로 프로세서 또는 소켓으로 표시됩니다. -
CPU 코어 - CPU 코어는 실제 CPU 처리 구성 요소입니다.
스레드에서 수신된 모든 명령 시퀀스를 처리합니다.
pCPU(VMware)로도 표시됩니다. -
CPU 스레드 - CPU 스레드는 CPU 코어의 가상 버전입니다.
스레드는 정렬된 명령 시퀀스에 불과합니다. -
논리 코어 - 각 CPU 스레드는 논리 코어와 직접 비교됩니다. 논리 코어는 물리적 코어가 동시에 실행할 수 있는 작업의 수를 측정합니다.
하이퍼 스레딩 기능을 사용하면 하나의 물리적 코어가 두 개의 작업을 실행할 수 있으므로 논리 코어 두 개가 있는 것입니다. -
하이퍼 스레딩 - CPU가 각 물리적 코어를 스레드라고 하는 가상 코어로 분할하는 프로세스입니다.
OS(Operating System) 및 이를 지원하는 BIOS에서 활성화/비활성화할 수 있습니다. -
vCPU(Virtual Central Processing Unit) - 각 vCPU는 VM(Virtual Machine) OS에 의해 단일 물리적 CPU 코어로 인식됩니다.
VM에 할당된 물리적 코어의 일부 또는 공유를 나타냅니다.
하이퍼바이저에 따라 각 물리적 코어는 VM당 5~10개의 vCPU를 지원합니다.
CPU > 코어 > vCPU 다이어그램
물리적 코어와 논리 코어 비교lscpu 명령 출력
lscpu | egrep 'Socket\(s\)|Core\(s\) per socket|Thread\(s\) per core|CPU\(s\)\:' | tac
예시 출력:
Socket(s): 2 ← The motherboard has 2 CPU processors/sockets. Core(s) per socket: 8 ← Each CPU socket has 8 physical cores. Hence, it has 16 physical cores in total. Thread(s) per core: 2 ← Each physical CPU core can run 2 threads = Hyper-Threading enabled. CPU(s): 32 ← The computer has 2 × 8 × 2 = 32 logical cores in total.
총 논리 코어 인덱스 = CPU 소켓 × 소켓당 물리적 코어 × 물리적 코어당 스레드
/proc/cpuinfo 파일 출력
echo " "; echo "Model Name: "$(cat /proc/cpuinfo|egrep 'model name'|head -1|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}'); cat /proc/cpuinfo | egrep 'processor|physical id|siblings|core id|cpu cores' | sed "s/^processor/\n&/"
예시 출력:
모든 출력 값은 0부터 시작합니다.
processor : 0 ← The index number of threads. physical id : 0 ← CPU socket index #0 (the only one if no other physical id's in the full output). siblings : 8 ← The amount of logical cores in the socket. core id : 0 ← CPU core index #0. cpu cores : 4 ← CPU socket index #0 has 4 physical cores.
총 논리 코어 수 = 동위 x 총 물리적 ID 수
PowerFlex 설명서 및 로그
PowerFlex 서버에 대한 CPU 관련 정보를 찾으려면 다음 방법을 사용할 수 있습니다.
라이브 시스템만 해당하는 경우lscpu
echo " ";echo "Model Name: "$(lscpu|egrep 'Model name'|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}');echo " ";lscpu|egrep 'Socket\(s\)|Core\(s\) per socket|Thread\(s\) per core|CPU\(s\)\:'|tac
예시 출력:
Model name: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz Socket(s): 1 Core(s) per socket: 4 Thread(s) per core: 2 CPU(s): 8
라이브 시스템 및 getInfoDump의 경우
/proc/cpuinfo
echo " ";echo "Model Name: "$(cat /proc/cpuinfo|egrep 'model name'|head -1|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}');cat /proc/cpuinfo|egrep 'processor|physical id|siblings|core id|cpu cores'|sed "s/^processor/\n&/"
getInfoDump의 경우 cpuinfo 파일 위치를 변경해야 합니다. 파일은 ...\getInfoDump\server\proc_cpuinfo.txt에 있습니다.
/proc/cpuinfo 파일은 lscpu - 보다 포괄적입니다. 자세한 내용은 링크를 사용하십시오.
예시 출력:
Model Name: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz processor : 0 physical id : 0 siblings : 8 core id : 0 cpu cores : 4 processor : 1 physical id : 0 siblings : 8 core id : 0 cpu cores : 4 processor : 2 physical id : 0 siblings : 8 core id : 1 cpu cores : 4 processor : 3 physical id : 0 siblings : 8 core id : 1 cpu cores : 4 processor : 4 physical id : 0 siblings : 8 core id : 2 cpu cores : 4 processor : 5 physical id : 0 siblings : 8 core id : 2 cpu cores : 4 processor : 6 physical id : 0 siblings : 8 core id : 3 cpu cores : 4 processor : 7 physical id : 0 siblings : 8 core id : 3 cpu cores : 4
PowerFlex 시스템 요구 사항 및 권장 사항은 Dell 지원 웹사이트의 공식 설명서를 참조하십시오.
문제 해결 툴 및 팁
Linuxtop
이 툴은 사용자, 작업, CPU 로드 및 메모리 사용량을 표시합니다.
top 기능을 종료하려면 키보드에서 'q'를 누릅니다.
일부 표준 명령 스위치:-i
Idle-processes
모든 유휴 프로세스가 숨겨지고 목록을 쉽게 정렬할 수 있습니다.
-n
Number-of-iterations
종료되기까지 top에서 생성하는 최대 반복 횟수 또는 프레임 수를 지정합니다.
-b
Batch-mode
Batch 모드에서 top을 시작합니다. 이는 top의 출력을 다른 프로그램 또는 파일로 보내는 데 유용할 수 있습니다.
-n' 스위치 옵션으로 설정되거나 중단될 때까지 실행됩니다.
top을 실행하는 동안 유용한 일부 기타 명령은 다음과 같습니다.M - 메모리 사용량별로 작업 목록 정렬P - 프로세서 사용량별로 작업 목록 정렬N - 프로세서 ID에 따라 작업 목록 정렬T - 실행 시간별로 작업 목록 정렬
mpstat
이 툴은 sysstat라는 소프트웨어 번들의 일부로, CPU 활동을 표시합니다. 각 프로세서(또는 프로세서 코어)에 대한 사용량이 표시됩니다.
%usr – % CPU usage at the user level. %nice – % CPU usage for user processes labeled “nice”. %sys – % CPU usage at the system (Linux kernel) level. %iowait – % CPU usage idling waiting on a disk read/write. %irq – % CPU usage handling hardware interrupts. %soft – % CPU usage handing software interrupts. %steal – % CPU usage being forced to wait for a hypervisor handling other virtual processors. %guest – % CPU usage spent running a virtual processor. %idle – % CPU usage on idle time (no processes, and not waiting on a disk read/write).
iostat
평균 사용량에 대한 명령입니다. 시스템은 마지막 부팅 이후 평균 CPU 사용량을 표시합니다.
sar
이 툴은 시스템 리소스를 관리합니다.
공통 명령 스위치:-u
CPU 성능만 추적합니다.
%user: Percentage of CPU utilization that occurred while executing at the user level (application). %nice: Percentage of CPU utilization that occurred while executing at the user level with nice priority. %system: Percentage of CPU utilization that occurred while executing at the system level (kernel). %iowait: Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request. %idle: Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
다음 명령을 실행하면 Linux 시스템의 상위 10개 CPU 사용자가 표시됩니다.
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
또는
ps -eo pcpu,pid,user,args | sort -r -k1 | less
VMware
가상화 환경, 특히 일반적으로 사용되는 VMware ESXi에서 시스템 리소스의 사용은 계층화되며, 때로는 너무 포괄적인 관계로 신속하게 분석할 수 없습니다.
VMWard KB VMware 리소스 문제 해결에 따라 ESXi 호스트/VM 성능 문제를 해결하기 위한 다양한 코드 버전을 알아보십시오.
UI와 CLI를 모두 사용하여 CPU 및 기타 리소스의 성능 문제를 해결할 수 있습니다.
UI:
vCenter Server는 연결된 모든 ESXi 호스트 및 VM에서 통계 데이터를 수집하고, 구성된 간격으로 데이터를 집계, 계산 및 보관합니다.
데이터에 액세스하려면 vSphere Client를 시작하고 VM 또는 호스트를 선택한 다음 Monitor > Performance > Overview로 이동하여 CPU, 메모리, 디스크 및 네트워크와 같은 주요 표시등에 대한 요약을 확인합니다.
Advanced로 이동하고 오른쪽 상단 모서리에 있는 View 드롭다운 메뉴를 사용하여 각 표시등에 대한 세부 정보를 확인합니다.
CLI:esxtop
이 툴은 사용자, 작업, CPU 로드 및 메모리 사용량을 표시합니다.
호스트 SSH 세션에 로그인하고(루트 권한 필요) esxtop명령을 입력합니다. ESXTOP를 시작하면 기본적으로 CPU 보기가 표시됩니다.
다양한 esxtop 메트릭 및 화면에 대한 보다 포괄적인 정보를 보려면 ESXTOP 설명 문서를 참조하십시오.
알림: VM의 특정 OS/애플리케이션 성능에 대해서는 OS/애플리케이션에 따라 관련 공급업체가 제공하는 적절한 지침을 따르십시오.
일부 표준 명령 스위치:-l
대규모 환경에서 esxtop은 수집해야 하는 데이터 양과 수행해야 하는 계산으로 인해 CPU 사용률이 높아질 수 있습니다.
특정 엔터티를 잠그고 esxtop이 상세 정보를 수집하지 못하도록 하여 필요한 CPU 전력량을 제한합니다.
-l'가 사용되면 엔터티가 잠기므로 esxtop 내에 표시되지 않습니다.
-u
이 옵션은 서버의 물리적 CPU 통계를 억제하여 저장하는 데이터의 양을 크게 줄여줍니다.
-n
Number-of-iterations
종료되기까지 esxtop에서 생성하는 최대 반복 횟수 또는 프레임 수를 지정합니다.
-b
Batch-mode
Batch 모드에서 top을 시작합니다. 이는 top의 출력을 다른 프로그램 또는 파일로 보내는 데 유용할 수 있습니다.
-b'가 사용되면 엔터티가 잠기므로 esxtop 내에 표시되지 않습니다. 또한 이 모드에서는 esxtop이 입력을 수락하지 않고, 반복 한도가 '-n' 스위치 옵션으로 설정되거나 중단될 때까지 실행됩니다.
Windows
Windows 환경에서 CPU 및 메모리의 높은 사용량이 항상 해결해야 할 문제가 되는 것은 아닙니다. 활용 사례에 따라 다릅니다.
작업 관리자를 사용하여 리소스를 많이 사용하는 애플리케이션/작업/서비스를 확인할 수 있습니다.
Windows 서버는 여러 서비스를 실행하여 다양한 용도로 사용할 수 있습니다.
다양한 서비스의 성능 문제 해결에 대해서는 Microsoft KB Windows Server 구성 요소 문제 해결을 따르십시오.
PowerShell
명령줄 셸 및 스크립팅 언어로 구성된 플랫폼 간 작업 자동화 및 구성 관리 프레임워크
PowerShell을 사용한 CPU 문제 해결에 대한 보다 포괄적인 정보를 보려면 PowerShell CPU 문제 해결 문서를 참조하십시오.