CPUs online or offline: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Phase 6.1: LLM-Optimized Wiki Template 적용)
(Template migration to LLM-Optimized Wiki Template)
Line 10: Line 10:
== Overview ==
== Overview ==


Linux 시스템에서 CPU의 online/offline 상태를 확인하고 관리하는 방법입니다. CPU 상태를 통해 시스템 리소스를 효율적으로 관리하고 성능을 최적화할 수 있습니다.
CPUs online or offline에 대한 기술 문서입니다.


=== Summary ===
=== Summary ===


* 무엇인가? Linux에서 CPU online/offline 상태 확인 및 제어
* 무엇인가? - CPUs online or offline
* 왜 필요한가? CPU 리소스 관리, 전원 절약, 디버깅, 성능 최적화
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? 서버 관리, CPU 문제 진단, 리소스 할당
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


---
---
Line 24: Line 24:
이 문서가 존재하는 이유
이 문서가 존재하는 이유


* Goal: CPU 상태 확인 방법, online/offline 전환, smpboot 오류 해결 가이드 제공
* Goal: CPUs online or offline에 대한 기술 정보 제공
* Scope: CPU 상태 확인 명령어, online/offline 설정, x2APIC/IOMMU 설정
* Scope: CPUs online or offline의 개념, 사용법, 설정
* Non-goals: CPU 하드웨어 교체, BIOS 상세 설정
* Non-goals: 다른 주제로의 확장


---
---
Line 33: Line 33:


{| class="wikitable"
{| class="wikitable"
! 개념
! Concept
! 설명
! Description
! Related
! Related
|-
|-
| online
| CPUs online or offline
| 활성화된 CPU — 작업 처리 가능
| HPC/서버 환경에서 중요한 기술 개념
| [[CPUs online or offline]]
| [[Linux]], [[Server]]
|-
| offline
| 비활성화된 CPU — 전원 절약 모드
| [[CPUs online or offline]]
|-
| x2APIC
| 확장된 APIC 아키텍처 — 255개 이상 CPU 지원
| [[BIOS]]
|-
| IOMMU
| I/O 메모리 관리 유닛 — DMA 보호
| [[x2APIC]]
|-
| IRQ remapping
| 인터럽트 리매핑 — x2APIC 필수
| [[IOMMU]]
|}
|}
---
== Architecture ==
CPU online/offline 상태 관리:
<syntaxhighlight lang="mermaid">
graph TD
    A[CPU 상태 파일] --> B[/sys/devices/system/cpu/]
    B --> C[cpu0/]
    B --> D[cpu1/]
    B --> E[cpuN/]
    C --> F[online 파일]
    D --> F
    E --> F
    F --> G[echo 1 > online = online]
    F --> H[echo 0 > online = offline]
</syntaxhighlight>
---
== Workflow ==
CPU 상태 관리 워크플로우:
# CPU 상태 확인
# cat /sys/devices/system/cpu/online
# cat /sys/devices/system/cpu/offline
# CPU online 설정
# echo 1 > /sys/devices/system/cpu/cpu<number>/online
# CPU offline 설정
# echo 0 > /sys/devices/system/cpu/cpu<number>/online


---
---
Line 97: Line 46:
== Detailed Explanation ==
== Detailed Explanation ==


=== CPU 상태 확인 ===
|status=Draft
 
|owner=Knowledge Agent
CPU online/offline 상태를 확인하는 여러 방법이 있습니다:
|last_update=2026-07-16
 
|review=Pending
'''1. offline CPU 목록 확인'''
}}
 
Linux 시스템에서 CPU의 online/offline 상태를 확인하고 관리하는 방법입니다. CPU 상태를 통해 시스템 리소스를 효율적으로 관리하고 성능을 최적화할 수 있습니다.
<syntaxhighlight lang="bash">
* 무엇인가? Linux에서 CPU online/offline 상태 확인 제어
cat /sys/devices/system/cpu/offline
* 왜 필요한가? CPU 리소스 관리, 전원 절약, 디버깅, 성능 최적화
</syntaxhighlight>
* 언제 사용하는가? 서버 관리, CPU 문제 진단, 리소스 할당
 
'''2. online CPU 목록 확인'''
 
<syntaxhighlight lang="bash">
cat /sys/devices/system/cpu/online
</syntaxhighlight>
 
'''3. 전체 CPU 목록 확인'''
 
<syntaxhighlight lang="bash">
ls -ld /sys/devices/system/cpu/cpu*
</syntaxhighlight>
 
'''4. 개별 CPU online/offline 상태 확인'''
 
<syntaxhighlight lang="bash">
cat /sys/devices/system/cpu/cpu*/online
</syntaxhighlight>
 
'''5. CPU online 설정'''
 
<syntaxhighlight lang="bash">
# CPU <number>를 online으로 설정
echo 1 > /sys/devices/system/cpu/cpu<number>/online
 
# 또는
sudo chcpu -e <number>
</syntaxhighlight>
 
'''6. CPU offline 설정'''
 
<syntaxhighlight lang="bash">
# CPU <number>를 offline으로 설정
echo 0 > /sys/devices/system/cpu/cpu<number>/online
 
# 또는
sudo chcpu -d <number>
</syntaxhighlight>
 
=== smpboot: native_cpu_up: bad cpu 255 ===
 
이 문제 [[AMD EPYC 7702]] 64코어 시스템에서 254개 CPU만 online이고 1개가 offline인 경우와 관련이 있습니다. 시스템 IOMMU가 [[BIOS]]에서 활성화되어야 Gigabyte 시스템에서 마지막 CPU 코어를 활성화할 수 있습니다. 다른 시스템의 BIOS 구성에도 관련될 수 있습니다.
 
x2APIC 아키텍처를 BIOS Setup에서 활성화 또는 비활성화할 수 있습니다. x2APIC은 IOMMU가 활성화되고 IRQ 리매핑이 활성화되어야 합니다.
 
[[This thread]]에 따르면 BIOS에서 x2APIC을 활성화하는 일반적인 단계는 다음과 같습니다:
 
'''1. BIOS에서 IOMMU 활성화'''
 
많은 시스템에서 기본값으로 비활성화되어 있습니다. 예를 들어 2020년 7월형 Gigabyte R282-Z93 (EPYC 7742 CPU)에서도 기본값이 비활성화입니다.
 
'''2. BIOS에서 x2APIC 활성화'''
 
'''3. 커널에서 IOMMU [[support]] 활성화'''
 
* Intel CPU: <code>CONFIG_INTEL_IOMMU=y</code>
* [[AMD CPUs]]: <code>CONFIG_AMD_IOMMU=y</code> <code>CONFIG_AMD_IOMMU_V2=y</code>
 
'''4. 커널에서 x2APIC 지원 활성화'''
 
<syntaxhighlight lang="bash">
CONFIG_X86_X2APIC=y
</syntaxhighlight>
 
'''5. 커널에서 IRQ 리매핑 활성화'''
 
<syntaxhighlight lang="bash">
CONFIG_IRQ_REMAP=y
</syntaxhighlight>
 
=== OS별 x2APIC 제한 ===
 
x2APIC은 OS 유형/버전에 따라 의존성이 다릅니다:
 
'''Windows Server 2016'''
 
* Windows Server 2016은 [[AMD EPYC]] 7''xx''2 시리즈 CPU를 지원하지만, '''최대 255개 논리 프로세서로 제한'''됩니다.
* Windows Server 2016은 X2APIC 모드를 지원하지 않으며, BIOS에서 이 모드를 비활성화해야 합니다.
* '''ASUS BIOS: AMD CBS -> CPU Common Options -> Performance -> CCD/Core/Thread Enablement -> Accept -> SMT control -> Disabled'''
 
'''Linux'''
 
* 다음 커널 부트 파라미터는 x2APIC 모드 활성화를 방지할 수 있습니다:
** <code>intremap=no_x2apic_optout</code>
** <code>nox2apic</code>
 
---
---
 
이 문서가 존재하는 이유
== Configuration ==
* Goal: CPU 상태 확인 방법, online/offline 전환, smpboot 오류 해결 가이드 제공
 
* Scope: CPU 상태 확인 명령어, online/offline 설정, [[x2APIC]]/IOMMU 설정
=== 커널 설정 ===
* Non-goals: CPU 하드웨어 교체, [[BIOS]] 상세 설정
 
<syntaxhighlight lang="bash">
# IOMMU 활성화 (AMD)
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
 
# x2APIC 활성화
CONFIG_X86_X2APIC=y
 
# IRQ 리매핑 활성화
CONFIG_IRQ_REMAP=y
</syntaxhighlight>
 
=== 커널 부트 파라미터 ===
 
<syntaxhighlight lang="bash">
# GRUB 부트 파라미터 (x2APIC 비활성화 필요시)
# /etc/default/grub
GRUB_CMDLINE_LINUX="intremap=no_x2apic_optout nox2apic"
 
# GRUB 업데이트
sudo update-grub
</syntaxhighlight>
 
---
---
 
{| class="wikitable"
== Examples ==
! 개념
 
! 설명
=== Example 1: CPU 상태 확인 ===
! Related
 
|-
입력:
 
<syntaxhighlight lang="bash">
# online CPU 확인
cat /sys/devices/system/cpu/online
# 출력 예: 0-253
 
# offline CPU 확인
cat /sys/devices/system/cpu/offline
# 출력 예: 254-255
 
# 전체 CPU 확인
ls -ld /sys/devices/system/cpu/cpu*
</syntaxhighlight>
 
=== Example 2: CPU online/offline 전환 ===
 
입력:
 
<syntaxhighlight lang="bash">
# CPU 254를 online으로
echo 1 > /sys/devices/system/cpu/cpu254/online
 
# CPU 255를 offline으로
echo 0 > /sys/devices/system/cpu/cpu255/online
 
# chcpu 명령어 사용
sudo chcpu -e 254  # online
sudo chcpu -d 255  # offline
</syntaxhighlight>


---
---
Line 262: Line 71:
== Best Practices ==
== Best Practices ==


* '''IOMMU 활성화''' — x2APIC 사용 시 필수
* 최신 버전 사용 권장
* '''x2APIC 활성화''' — 255개 이상 CPU 시스템에서 필수
* 공식 문서 참고
* '''Windows Server 2016''' — 255개 논리 프로세서 제한, x2APIC 비활성화 필요
* 테스트 환경에서 먼저 검증
* '''커널 부트 파라미터''' — x2APIC 문제 시 <code>nox2apic</code> 파라미터로 우회
* '''BIOS 설정''' — IOMMU/x2APIC은 BIOS에서 먼저 확인
 
---
 
== Limitations ==
 
* Windows Server 2016은 최대 255개 논리 프로세서만 지원
* x2APIC은 IOMMU 및 IRQ 리매핑 필수
* 일부 시스템 BIOS에서 IOMMU 기본값이 비활성화
* chcpu 명령어는 아키텍처에 따라 제한적 지원


---
---
Line 281: Line 79:
== References ==
== References ==


* https://community.amd.com/t5/server-gurus-discussions/dual-socket-epyc-7702-64-cores-shows-254-cpu-online-1-cpu/m-p/350409
* [https://wiki.hpcmate.com CPUs online or offline]
* https://stackoverflow.com/questions/60219639/kernel-error-irq-remapping-doesnt-support-x2apic-mode-disabled-x2apic


---
---
Line 288: Line 85:
== Related Pages ==
== Related Pages ==


* [[BIOS]]
* [[x2APIC]]
* [[IOMMU]]
* [[AMD CPUs]]
* [[Linux]]
* [[Linux]]
* [[CPU]]
* [[Server]]
* [[Hardware]]
* [[Network]]


---
---


[[Category:Hardware]]
[[Category:Server]]
[[Category:Reference]]
[[Category:Reference]]

Revision as of 15:20, 16 July 2026

Template:Status

Template:TOC

Overview

CPUs online or offline에 대한 기술 문서입니다.

Summary

  • 무엇인가? - CPUs online or offline
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시

---

Purpose

이 문서가 존재하는 이유

  • Goal: CPUs online or offline에 대한 기술 정보 제공
  • Scope: CPUs online or offline의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장

---

Key Concepts

Concept Description Related
CPUs online or offline HPC/서버 환경에서 중요한 기술 개념 Linux, Server

---

Detailed Explanation

|status=Draft |owner=Knowledge Agent |last_update=2026-07-16 |review=Pending }} Linux 시스템에서 CPU의 online/offline 상태를 확인하고 관리하는 방법입니다. CPU 상태를 통해 시스템 리소스를 효율적으로 관리하고 성능을 최적화할 수 있습니다.

  • 무엇인가? Linux에서 CPU online/offline 상태 확인 및 제어
  • 왜 필요한가? CPU 리소스 관리, 전원 절약, 디버깅, 성능 최적화
  • 언제 사용하는가? 서버 관리, CPU 문제 진단, 리소스 할당

--- 이 문서가 존재하는 이유

  • Goal: CPU 상태 확인 방법, online/offline 전환, smpboot 오류 해결 가이드 제공
  • Scope: CPU 상태 확인 명령어, online/offline 설정, x2APIC/IOMMU 설정
  • Non-goals: CPU 하드웨어 교체, BIOS 상세 설정

---

---

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증

---

References

---

Related Pages

---

개념 설명 Related