ด้านล่างเป็นตัวตกแต่งฟังก์ชั่นของฉันที่อนุญาตให้ติดตามจำนวนหน่วยความจำที่กระบวนการนี้ใช้ก่อนการเรียกใช้ฟังก์ชันจำนวนหน่วยความจำที่ใช้หลังจากการเรียกใช้ฟังก์ชันและระยะเวลาการใช้งานฟังก์ชัน 
import time
import os
import psutil
def elapsed_since(start):
    return time.strftime("%H:%M:%S", time.gmtime(time.time() - start))
def get_process_memory():
    process = psutil.Process(os.getpid())
    return process.memory_info().rss
def track(func):
    def wrapper(*args, **kwargs):
        mem_before = get_process_memory()
        start = time.time()
        result = func(*args, **kwargs)
        elapsed_time = elapsed_since(start)
        mem_after = get_process_memory()
        print("{}: memory before: {:,}, after: {:,}, consumed: {:,}; exec time: {}".format(
            func.__name__,
            mem_before, mem_after, mem_after - mem_before,
            elapsed_time))
        return result
    return wrapper
ดังนั้นเมื่อคุณมีฟังก์ชั่นตกแต่งบางอย่างแล้ว
from utils import track
@track
def list_create(n):
    print("inside list create")
    return [1] * n
คุณจะสามารถเห็นผลลัพธ์นี้:
inside list create
list_create: memory before: 45,928,448, after: 46,211,072, consumed: 282,624; exec time: 00:00:00
               
              
psutilเป็นแพลตฟอร์มข้ามและสามารถส่งคืนค่าเดียวกับpsเครื่องมือบรรทัดคำสั่ง: pythonhosted.org/psutil/#psutil.Process.memory_info