Python show memory

py -m pip install psutil

 

import os
import psutil
import asyncio
import time
from datetime import datetime

class Book:
    def __init__(self,id,name,author,isbn,title,topic):
        self.id=id
        self.name=name
        self.author=author
        self.isbn=isbn
        self.title=title
        self.topic=topic
    
    def init_bookslist(num=10000000):
        interval=num/10
        lt=[]
        for a in range(1,num+1):
            bk=Book(a,f'name_{a}',f'author_{a}',f'isbn_{a}',f'title_{a}',f'topic_{a}')
            lt.append(bk)   
            if a%interval==0:
                rss,vms=get_current_memory_usage()
                print(f'Now is {datetime.now()},a:{a},Physical memory:{rss:.2f} MB,Virtual memory:{vms:.2f} MB')
        return lt

def get_current_memory_usage():
    process=psutil.Process(os.getpid())
    memory_info=process.memory_info()
    rss_mb=memory_info.rss/1024/1024
    vms_mb=memory_info.vms/1024/1024
    return rss_mb,vms_mb

async def background_task(duration):
    for i in range(duration):        
        rss,vms=get_current_memory_usage()
        print(f'Physical memory (RSS):{rss:.2f} MB')
        print(f'Virtual memory (VMS):{vms:.2f} MB')
        await asyncio.sleep(1)

async def main():
    print("Starting async tasks...")
    # bg_task=asyncio.create_task(background_task(duration=10000))
    print("Creating book list...")
    booksList=Book.init_bookslist(10000000)
    print(f'Created {len(booksList)}')
    # await bg_task
    print("All tasks completed.")    

if __name__=="__main__":
    asyncio.run((main()))

 

 

 

image

 

posted @ 2025-11-11 22:49  FredGrit  阅读(1)  评论(0)    收藏  举报