Python psutil 庫查看當前進程的內存消耗及系統內存情況

參考:
https://www.liaoxuefeng.com/wiki/1016959663602400/1183565811281984
https://www.cnblogs.com/zhangxinqi/p/9106265.html
https://blog.csdn.net/qq_40723803/article/details/105097401


psutil 是個跨平臺庫,主要應用於信息監控,分析和限制系統資源及進程的管理,能夠輕鬆實現獲取系統運行的進程和系統利用率,包括CPU、內存、磁盤、網絡等信息。它實現了同等命令命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的linux、windows、OS X、FreeBSD和Sun Solaris等操作系統。

安裝

git clone https://github.com/giampaolo/psutil.git
cd psutil
python3 setup.py install

pip3 install psutil

內存信息

mem = psutil.virtual_memory() #獲取內存完整信息

#total:總物理內存
#available:可用的內存
#used:使用的內存
#free:完全沒有使用的內存
#active:當前正在使用的內存
#inactive:標記爲未使用的內存
#buffers:緩存文件系統元數據使用的內存
#cached:緩存各種文件的內存
#shared:可以被多個進程同時訪問的內存
#slab:內核數據結構緩存的內存

psutil.swap_memory() #獲取swap內存信息

#total:以字節爲單位的總交換內存
#used:以字節爲單位使用交換內存
#free:以字節爲單位的可用交換內存
#percent:使用百分比
#sin:系統從磁盤交換的字節數
#sout:系統從磁盤換出的字節數

系統進程管理

import psutil
p = psutil.Process(1265)  #實例化一個Process對象,參數爲進程PID
p.name()  #進程名
p.uids()  #進程UID信息
p.gids()  #進程GID信息
p.memory_info()  #進程內存rss、vms信息
p.io_counters()  #進程IO信息包括讀寫IO數及字節數
p.num_threads()  #進程開啓的線程數
p.memory_percent()  #進程內存利用率

當前進程的內存消耗

import psutil
import os

print ('當前進程的內存使用:',psutil.Process(os.getpid()).memory_info().rss)
print ('當前進程的內存使用:%.4f GB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024 / 1024) )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章