반응형
파이썬 프로그램 프로세스가 사용하는 메모리 크기 검사
import os
import psutil
def get_process_memory_usage(pid):
"""프로세스 ID의 메모리 사용량을 튜플(RSS, VMS)로 반환"""
try:
process = psutil.Process(pid)
mem_info = process.memory_info()
return (mem_info.rss, mem_info.vms) # RSS(Resident Set Size), VMS(Virtual Memory Size)
except psutil.NoSuchProcess:
return None
def my_pid():
"""현재 실행 프로세스 ID를 반환"""
pid = os.getpid()
return pid
# 테스트 -----------------------------------------------------------
pid = my_pid()
print(f"현재 프로세스 ID: {pid}")
mem = get_process_memory_usage(pid)
if mem:
print(f"프로세스 ID {pid} 메모리 사용량:")
# 프로세스가 사용하는 물리 메모리 크기
print(f" 물리 메모리 사용량(RSS): {mem[0]/(1024 ** 2):.2f} MB")
# 프로세스에 할당된 가상 메모리 크기
print(f" 가상 메모리 할당량(VMS): {mem[1]/(1024 ** 2):.2f} MB")
else:
print(f"{pid} 프로세스 ID를 찾을 수 없습니다.")
[실행 결과]
현재 프로세스 ID: 27800
프로세스 ID 27800 메모리 사용량:
물리 메모리 사용량(RSS): 24.77 MB
가상 메모리 할당량(VMS): 13.69 MB
반응형
'Python 활용' 카테고리의 다른 글
파이썬, 이미지 썸네일 만들기 (0) | 2024.12.19 |
---|---|
Azure App Service에 Python(Django, Flask, FastAPI) 웹앱 배포 (0) | 2024.11.27 |
파이썬, random 모듈을 대체하기 (os.urandom) (1) | 2024.10.10 |
파이썬 - asgi 버전(2, 3)에 따라 달라지는 uvicorn 호스팅 (0) | 2024.06.16 |
Python, SQLAlchemy DB migration 툴 (1) | 2024.06.12 |