상세 컨텐츠

본문 제목

[Linux]메모리와 캐시삭제?

IT

by Admimistrator 2024. 6. 27. 17:09

본문

728x90
반응형

1. 물리적 메모리 (Physical Memory)

정의

  • 실제 하드웨어에 설치된 RAM을 의미합니다. 이는 시스템이 직접 사용할 수 있는 메모리입니다.

특징

  • 휘발성: 전원이 꺼지면 데이터가 사라짐.
  • 속도: 매우 빠름.
  • 용량: 일반적으로 GB 단위.

확인 방법

  • 명령어: free -h

불필요한 메모리 삭제

  • 캐시를 플러시하여 사용 가능한 메모리를 늘릴 수 있습니다.
  • 명령어: echo 3 > /proc/sys/vm/drop_caches 이 명령어는 페이지 캐시, 디렉터리 캐시, 아이노드 캐시를 삭제합니다.

2. 가상 메모리 (Virtual Memory)

정의

  • 물리적 메모리보다 큰 메모리 공간을 제공하기 위해 디스크 공간을 사용하는 기술입니다. 리눅스에서 스왑 공간을 통해 구현됩니다.

특징

  • 확장성: 물리적 메모리가 부족할 때 디스크를 사용하여 메모리를 확장.
  • 속도: 물리적 메모리보다 느림.

확인 방법

  • 명령어: vmstat

  • 가상 메모리는 운영체제가 물리적 메모리와 디스크 공간을 조합하여 사용하는 메모리 관리 기법으로 물리적 메모리 한계를 넘어 프로그램이 더 큰 메모리 공간을 사용하도록 제공하거나, 독립적인 메모리 공간을 제공하거나, 필요할 경우에만 데이터를 디스크로 스왑하는 목적으로 사용하기 때문에 사용자가 직접적으로 메모리 삭제하는 기능은 제공 되지 않습니다.

3. 스왑 공간 (Swap Space)

정의

  • 물리적 메모리가 부족할 때 데이터를 임시로 저장하는 디스크 공간입니다.

특징

  • 위치: 스왑 파티션 또는 스왑 파일.
  • 속도: 물리적 메모리보다 느림.
  • 용도: 메모리 부족 시 페이지아웃(page out) 작업을 통해 데이터를 디스크로 이동.

확인 방법

  • 명령어: swapon --show

불필요한 스왑 메모리 삭제

  • 스왑을 비활성화했다가 다시 활성화하여 스왑 메모리를 초기화할 수 있습니다.
  • 명령어: sudo swapoff -a / sudo swapon -a

4. 페이지 캐시 (Page Cache)

정의

  • 파일 시스템 데이터의 캐시입니다. 파일 읽기/쓰기를 빠르게 하기 위해 파일 데이터 블록을 캐시합니다.

특징

  • 속도: 빠름. RAM에 저장.
  • 효율성: 디스크 I/O를 줄여 성능 향상.
  • 관리: 커널이 자동으로 관리.

확인 방법

  • 명령어: free -h 명령어의 buff/cache 컬럼을 확인.

불필요한 페이지 캐시 삭제

  • 명령어: echo 1 > /proc/sys/vm/drop_caches

5. 버퍼 캐시 (Buffer Cache)

정의

  • 블록 장치 I/O의 캐시입니다. 디스크 블록의 읽기/쓰기를 빠르게 하기 위해 사용됩니다.

특징

  • 속도: 빠름. RAM에 저장.
  • 용도: 디스크 블록의 캐싱을 통해 디스크 I/O 성능 향상.
  • 관리: 커널이 자동으로 관리.

확인 방법

  • 명령어: free -h 명령어의 buff/cache 컬럼을 확인.

불필요한 버퍼 캐시 삭제

  • 명령어: echo 2 > /proc/sys/vm/drop_caches

6. 공유 메모리 (Shared Memory)

정의

  • 여러 프로세스가 동시에 접근할 수 있는 메모리 영역입니다. 프로세스 간 빠른 데이터 교환을 위해 사용됩니다.

특징

  • 속도: 매우 빠름. 메모리 직접 접근.
  • 용도: 프로세스 간 통신(IPC).

확인 방법

  • 명령어: ipcs -m

7. 익명 메모리 (Anonymous Memory)

정의

  • 파일과 연관되지 않은 메모리입니다. 일반적으로 프로세스의 힙이나 스택에서 사용됩니다.

특징

  • 속도: 빠름. RAM에 저장.
  • 용도: 동적 메모리 할당, 프로세스 스택 등.

확인 방법

  • 명령어: pmap <PID>
  • PID는 ps 명령어로 확인 할 수 있습니다. mysql 등의 프로세스등을 확인하려면 ps -ef |grep mysql 등으로 검색하시는 것도 도움이 될 수 있습니다.

8. 메모리 매핑 파일 (Memory-Mapped Files)

정의

  • 파일의 내용을 메모리에 매핑하여 파일 I/O를 메모리 접근처럼 수행할 수 있도록 합니다.

특징

  • 속도: 빠름. 페이지 캐시를 사용.
  • 용도: 대용량 파일 처리, 파일 기반 IPC.

확인 방법

  • 명령어: cat /proc/<PID>/maps

불필요한 메모리 삭제 종합

  • 캐시 메모리와 버퍼 캐시를 삭제하기 위해 /proc/sys/vm/drop_caches 파일을 사용할 수 있습니다. 이 파일에 값을 쓰면 캐시가 삭제됩니다.
  • 명령어: echo 3 > /proc/sys/vm/drop_caches

echo 1,2,3의 의미

  • echo 1 > /proc/sys/vm/drop_caches: 파일 데이터 캐시만 삭제.
  • echo 2 > /proc/sys/vm/drop_caches: 아이노드와 디렉터리 캐시만 삭제.
  • echo 3 > /proc/sys/vm/drop_caches: 파일 데이터, 아이노드, 디렉터리 캐시 모두 삭제.

각 메모리 별 역할과 확인 명령어 그리고 불 필요한 메모리를 삭제하는 명령어를 소개했습니다.

이 명령어들은 실제 운영 환경에서는 빈번하게 사용하지 않는 것이 좋습니다.

캐시의 역할은 시스템 성능을 향상 시키기 위한 목적이기 때문에 디버깅 혹은 테스트를 위한 역할로 사용하시는 것을 권장드립니다.

 

728x90
반응형

'IT' 카테고리의 다른 글

[Network]OSI 7 Layer란? What is OSI 7 Layer?  (0) 2024.07.08
Well-known port란?  (0) 2024.07.03
[IT용어]On-Premise와SaaS 란?  (0) 2024.06.27
[IT]웹 브라우저 쿠키와 캐시  (0) 2024.06.26
[IT]무료 AI 동영상 만들기 Luma Dream Machine  (0) 2024.06.24

관련글 더보기