Python 如何查看程序內存占用情況
查看程序內存占用情況
flyfish
psutil
這裡用在查看內存占用情況memory_profiler
輸出每一行代碼增減的內存
安裝
pip install memory_profiler
代碼
import numpy as np import os import psutil import gc from memory_profiler import profile @profile def test(): a=np.full(shape=(600, 700), fill_value=99.0) return a if __name__ == '__main__': a=test() print('A:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024)) del a gc.collect() print('B:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024))
如果沒有from memory_profiler import profile這句代碼,執行終端命令如下
python -m memory_profiler test.py
結果
Line # Mem usage Increment Occurences Line Contents
============================================================
10 53.8 MiB 53.8 MiB 1 @profile
11 def test():
12 56.8 MiB 3.0 MiB 1 a=np.full(shape=(600, 700), fill_value=99.0)
13 56.8 MiB 0.0 MiB 1 return aA:56.83 MB
B:53.83 MB
python查看內存使用
在程序中使用python查看電腦內存,可以使用:
import psutil import os info = psutil.virtual_memory() print(u'內存使用:',psutil.Process(os.getpid()).memory_info().rss) print(u'總內存:',info.total) print(u'內存占比:',info.percent) print(u'cpu個數:',psutil.cpu_count())
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python利用memory_profiler查看內存占用情況
- python函數運行內存時間等性能檢測工具
- python實現監控指定進程的cpu和內存使用率
- python 監控某個進程內存的情況問題
- 基於Python編寫一個監控CPU的應用系統