[Back-End] 스레드, 프로세스, 코어의 수는 많을수록 좋을까요?

2025. 1. 2. 16:47·Back-end
반응형
매일메일을 통한
하루하루 CS 공부하기!

 

 

스레드, 프로세스, 코어의 수가 많을수록 시스템 성능이 향상된다고 생각할 수 있지만, 실제로는 그렇지 않을 확률이 크다.

 

스레드가 많으면?

  • OS가 스레드 간 Context Switching을 자주 수행하여 CPU 리소스가 스레드 관리에 많이 소모됨
  • 스레드가 많아지면 Synchronization이나 State 관리가 복잡해짐 → 버그 발생률 증가

실제 작업 수행 효율이 떨어질 수 있으며, 많은 스레드가 동시에 실행될 경우 Memory, Cache, Lock 등의 자원을 경쟁하게 되어 성능 저하나 Dead Lock 발생 가능.

 

프로세스가 많으면?

  • 각 프로세스는 독립적인 메모리 공간을 가짐
    • 따라서 많은 프로세스가 동시 실행 시 Memory Utilization이 급격하게 증가.
  • 프로세스 생성 & 관리에 많은 시스템 리소스 소모
  • 프로세스 간 통신 (IPC)이 필요한 경우 성능 저하 발생 가능
    • 오버헤드 : 프로세스 간 Context Switching > 스레드 간 Context Switching

 

OS는 동시에 실행할 수 있는 프로세스 수에 제한이 있으며, 이를 초과할 시 새로운 프로세스 생성이 불가능하거나 시스템이 불안정해질 수 있다.

 

코어가 많으면?

CPU는 코어가 높을 수록 병렬 처리 성능을 향상시킬 수 있지만, 소프트웨어가 멀티코어 환경에 최적화 되어있어야 한다.

 

코어 수가 많아질수록 CPU 비용과 전력 소비 증가, 발열 관리도 복잡해짐.

반응형

'Back-end' 카테고리의 다른 글

[Back-End] DBMS에서 동시성을 제어하는 방법  (0) 2025.01.08
[Back-End] 웹사이트에 처음 접근했을 때 발생하는 일련의 과정  (3) 2025.01.07
[Back-End] Shared Lock과 Exclusive Lock 이란?  (0) 2024.12.31
[Back-End] Sync와 Async 그리고 Blocking와 Non-Blocking?  (2) 2024.12.30
[Back-End] 로그와 메트릭에 대해 설명해봐라!  (3) 2024.12.19
'Back-end' 카테고리의 다른 글
  • [Back-End] DBMS에서 동시성을 제어하는 방법
  • [Back-End] 웹사이트에 처음 접근했을 때 발생하는 일련의 과정
  • [Back-End] Shared Lock과 Exclusive Lock 이란?
  • [Back-End] Sync와 Async 그리고 Blocking와 Non-Blocking?
류건
류건
개발 일지
  • 류건
    건's Dev
    류건
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • Back-end (56)
        • Spring (31)
        • Nest.js (3)
        • Next.js (2)
        • Node.js (3)
      • Infra & Cloud (21)
        • Cloud Computing (6)
        • Docker (3)
        • AWS (7)
      • Java (2)
      • Computer Science (12)
        • Computer Network (0)
        • Operating System (0)
        • 정보 보호와 시스템 보안 (12)
        • Software Architecture (0)
      • 회고록 (4)
        • 우아한테크코스 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    node.js
    JWT
    JPA
    Docker
    EC2
    보안
    ssl
    CORS
    CI/CD
    오블완
    어노테이션
    정보보호
    Spring Boot
    public key
    nginx
    Github Actions
    WebClient
    ddl-auto
    티스토리챌린지
    express.js
    CD
    Lock
    고가용성
    Spring
    Kafka
    db
    aws
    Nest.js
    Webflux
    https
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
류건
[Back-End] 스레드, 프로세스, 코어의 수는 많을수록 좋을까요?
상단으로

티스토리툴바