psutil模塊

psutil是一個跨平臺庫(http://pythonhosted.org/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等操作系統

安裝

pip install psutil或者使用源碼安裝

獲取CPU信息

psutil.cpu_times() # 獲取cpu的完整信息,需要顯示所有邏輯cpu信息
psutil.cpu_times(percpu=True) # 獲取每一個cpu的信息
psutil.cpu_count() # 獲取CPU的邏輯個數 # 默認logical=True
psutil.cpu_count(logical=False) # 獲取CPU的物理個數

獲取內存信息

psutil.virtual_memory() # 獲取完整的內存信息
psutil.virtual_memory().total # 獲取內存總數
psutil.virtual_memory().free # 獲取空閒內存數
psutil.swap_memory() # 獲取SWAP分區信息

獲取磁盤信息

psutil.disk_partitions() # 獲取完整的磁盤信息
psutil.disk_usage() # 獲取分區('path')的使用情況
psutil.disk_io_counters() # 獲取硬盤總的IO個數
psutil.disk_io_counters(perdisk=True) # 獲取單個分區IO個數

獲取網絡信息

psutil.net_connections() # 獲取網絡總的IO信息,默認是kind='inet'


+------------+----------------------------------------------------+
| Kind Value | Connections using |
+------------+----------------------------------------------------+
| inet | IPv4 and IPv6 |
| inet4 | IPv4 |
| inet6 | IPv6 |
| tcp | TCP |
| tcp4 | TCP over IPv4 |
| tcp6 | TCP over IPv6 |
| udp | UDP |
| udp4 | UDP over IPv4 |
| udp6 | UDP over IPv6 |
| unix | UNIX socket (both UDP and TCP protocols) |
| all | the sum of all the possible families and protocols |
+------------+----------------------------------------------------+

psutil還支持獲取用戶登錄、開機時間等信息,可以https://pypi.org/project/psutil/查看


分享到:


相關文章: