IT용어위키



리눅스 메모리

리눅스 메모리(Linux Memory)는 운영체제에서 프로세스 및 커널이 사용하는 메모리 관리 방식을 의미한다. 리눅스에서는 가상 메모리, 캐시, 스왑 등의 개념을 활용하여 효율적인 메모리 관리를 수행한다.

개요

리눅스는 메모리를 효율적으로 사용하기 위해 가상 메모리(Virtual Memory) 시스템을 채택하고 있으며, 프로세스마다 독립적인 메모리 공간을 할당한다. 또한 캐시(Buffer Cache)와 스왑(Swap) 기능을 통해 물리적 메모리를 보완한다.

메모리 구조

리눅스의 메모리 구조는 크게 다음과 같이 나뉜다.

  • 물리적 메모리 (Physical Memory)
    • RAM(Random Access Memory)으로 구성되며, 커널과 사용자 프로세스가 직접 사용하는 메모리 공간이다.
    • 페이지 단위(일반적으로 4KB)로 관리된다.
  • 가상 메모리 (Virtual Memory)
    • 프로세스마다 독립적인 메모리 공간을 제공하는 논리적 메모리 구조이다.
    • 물리적 메모리보다 큰 공간을 제공하며, 스왑 영역을 활용할 수 있다.
  • 스왑 메모리 (Swap Memory)
    • RAM이 부족할 때, 디스크의 일부를 메모리처럼 사용하는 공간이다.
    • 물리적 메모리에 비해 속도가 느리지만, 메모리 부족 현상을 완화하는 역할을 한다.
  • 캐시 및 버퍼 (Cache & Buffer)
    • 자주 사용되는 데이터를 저장하여 성능을 향상시키는 역할을 한다.
    • 커널은 사용 가능한 여유 메모리를 캐시와 버퍼로 적극 활용한다.

메모리 확인 명령어

리눅스에서 현재 메모리 상태를 확인하는 주요 명령어는 다음과 같다.

`free` 명령어

`free` 명령어는 사용 가능한 메모리와 스왑 상태를 확인하는 데 사용된다.

free -h

출력 예시:

              total        used        free      shared  buff/cache   available
Mem:           15Gi        3Gi        2Gi        1Gi         10Gi        11Gi
Swap:           4Gi        1Gi        3Gi

옵션 설명:

  • `-h` : 사람이 읽기 쉬운 형식(Human-readable)으로 출력

`top` 명령어

`top` 명령어는 실시간으로 CPU 및 메모리 사용량을 모니터링하는 데 사용된다.

top

출력 예시:

KiB Mem :  16324232 total,  12150332 free,   2048032 used,   2147072 buff/cache
KiB Swap:   8388604 total,   8388592 free,        12 used.  12550300 avail Mem

`htop` 명령어

`htop`은 `top`보다 더 보기 쉬운 인터페이스를 제공하는 명령어이다.

설치 방법:

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # RHEL/CentOS

실행:

htop

`/proc/meminfo` 파일 확인

리눅스 시스템의 자세한 메모리 정보를 확인할 수 있는 가상 파일이다.

cat /proc/meminfo

출력 예시:

MemTotal:       16324232 kB
MemFree:        12150332 kB
MemAvailable:   12550300 kB
Buffers:         2147072 kB
Cached:          3048032 kB
SwapTotal:       8388604 kB
SwapFree:        8388592 kB

스왑(Swap) 관리

스왑 공간은 RAM이 부족할 때 디스크를 임시 메모리로 사용하는 기능을 한다.

스왑 크기 확인

현재 시스템의 스왑 크기를 확인하려면 다음 명령어를 사용한다.

swapon --summary

출력 예시:

Filename                Type        Size    Used    Priority
/dev/sda2              partition   4G      1G      -2

스왑 활성화 및 비활성화

스왑을 비활성화하려면:

sudo swapoff -a

스왑을 다시 활성화하려면:

sudo swapon -a

메모리 최적화 및 관리

리눅스에서는 불필요한 캐시를 정리하여 메모리를 최적화할 수 있다.

  • 캐시 정리
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 스왑 해제
sudo swapoff -a && sudo swapon -a

같이 보기

참고 문헌


  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!