반응형

파이썬을 활용한 메모리 사용량 확인 - psutil, sys
들어가며
대용량 데이터 전처리 혹은 복잡한 코드를 실행할 때, 메모리 사용량이 급격하게 증가하는 경우가 생깁니다. 혹여나 시스템의 성능에 영향을 줄 수 있는 상황을 예방하기 위해 메모리 사용량을 확인하고 관리하는 것이 중요합니다. 이 글에서는 파이썬을 활용하여 메모리 사용량을 확인하는 방법을 소개합니다.
메모리 확인에 필요한 패키지는 psutil입니다. psutil을 import 합니다.
# ! pip install psutil
import psutil
- 현재 메모리 상태 확인
- 변수별 메모리 상태 확인
현재 메모리 상태 확인
psutil의 virtual_memory는 현재 시스템의 메모리 상태를 확인할 수 있습니다. 주요 항목은 다음과 같습니다.
total은 총 메모리 용량을 바이트 단위로 나타냅니다. 즉, RAM의 전체 크기입니다. 현재 총메모리의 용량은 16GB입니다.
memory = psutil.virtual_memory()
print(f'총 메모리 용량: {memory.total} Byte')
print(f'총 메모리 용량: {memory.total / (1024**3)} GB')

available은 사용 가능한 메모리 용량을 바이트 단위로 나타냅니다. 현재 사용 가능한 메모리는 6.6GB입니다.
memory = psutil.virtual_memory()
print(f'사용 가능한 메모리 용량: {memory.available} Byte')
print(f'사용 가능한 메모리 용량: {memory.available / (1024**3):.2f} GB')

percent는 전체 메모리 사용률을 나타냅니다. 현재 58%의 메모리가 사용 중입니다.
memory = psutil.virtual_memory()
print(f'전체 메모리 사용률: {memory.percent} %')

if문과 전체 메모리 사용률을 활용하는 방법은 다음과 같습니다. 임계값을 80으로 설정하고, 임계값을 초과하면 경고 문구를 출력합니다.
threshold = 80
memory_usage = memory.percent
if memory_usage > threshold:
print(f'경고: 메모리 사용량이 {threshold}%를 초과했습니다!')
반응형
변수별 메모리 사용량 확인
변수별 메모리 사용량 확인은 sys 패키지를 사용합니다. sys의 getsizeof 메서드는 변수별 메모리 사용량을 확인할 수 있습니다. df는 0.01GB의 메모리를 사용 중입니다.
import sys
print(f'df의 메모리 사용량: {sys.getsizeof(df)} Byte')
print(f'df의 메모리 사용량: {sys.getsizeof(df) / (1024**3):.2f} GB')

반응형
'Etc' 카테고리의 다른 글
| [AWS] RDS 서비스를 활용한 MySQL 무료 DB 구축 (4) | 2025.02.08 |
|---|---|
| 논문 일기 1편 - 주제 탐색 (2) | 2025.02.06 |
| [KoNLPy] Mac에서 KoNLPy 설치 - OpenJDK부터 Java 설정까지 (0) | 2025.01.01 |
| [도커] Docker 명령어 아카이브 (2) | 2024.12.16 |
| [Oracle SQL] 날짜 데이터 필터링하는 4가지 방법 (5) | 2024.12.02 |