top 명령어를 통한 리눅스 메모리 요약

1. top 명령어 메모리 지표

지표 설명

VIRT커널로부터 예약받은 가상 메모리 (물리 메모리 미할당 포함)
RES실제 물리 RAM에 올라온 메모리 (가장 현실적인 지표)
SHRRES 중 다른 프로세스와 공유 중인 메모리
실제 단독 사용량 = RES - SHR

2. SHR (공유 메모리)

  • 대표 예시: glibc (대부분의 프로세스가 참조하는 표준 C 라이브러리)
  • 물리 메모리에 단 1개만 적재되고 여러 프로세스가 공유
  • 쓰기 발생 시 COW로 분리됨

3. VIRT와 메모리 커밋

  • malloc() 호출 → 가상 주소 공간만 예약 → VIRT 증가 (메모리 커밋)
  • 실제 접근 시 → Page Fault 발생 → 물리 메모리 할당 → RES 증가 (Demand Paging)
malloc() → [메모리 커밋] → VIRT ↑, RES 변화 없음
실제 접근 → [Demand Paging] → Page Fault → RES ↑

4. 지연 할당(Lazy Allocation)을 쓰는 이유

  • fork() 후 자식 프로세스가 메모리를 얼마나 쓸지 모름
  • 요청한 메모리를 실제로 다 안 쓸 수 있음
  • 물리 메모리보다 더 많은 가상 메모리 제공 가능
  • 프로세스 시작 속도 향상

5. COW (Copy-on-Write)

fork() 직후  → 부모/자식이 동일한 물리 메모리 공유 (복사 안 함)
쓰기 발생 시 → 해당 페이지만 복사 후 분리

상황 동작

읽기만 할 때부모/자식 메모리 공유
쓰기 발생 시그 페이지만 복사 후 분리
exec() 즉시 호출복사 자체가 불필요 → 메모리 절약
"실제로 쓰기 전까지는 굳이 복사하지 말자"

Read more

mybloodyvalentine 3집 loveless

마이블러디발렌타인의 정규 2집 loveless 엘피를 김밥레코즈에서 5만원가량의 금액으로 구매. 요건 평생 들어도 질리지않을거같아 바이닐로 구매했다. 물리적인 이슈가 발생하지않는 한 이제 스트리밍 플랫폼의 의존성없이 평생 청취 가능하다 내부 크레딧 개인적으로 빌린다 부처의 맥아리없는 보컬을 참 좋아한다. 바이닐 커버를 벗기면 평범하다 0:00 /0:12 1× 2집 loveless만큼 3집 mbv도 좋아해서 아마

By 권동혁