psutil之cpu、memory、disk解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了psutil之cpu、memory、disk解析相关的知识,希望对你有一定的参考价值。

参考技术A psutil是一个Python写的方便获取系统硬件和性能信息的库。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

>>>import psutil

>>>psutil.cpu_count() #逻辑CPU个数

>>>psutil.cpu_count(logical=False) #物理CPU个数

>>>psutil.cpu_percent() #cpu平均使用率

>>>psutil.cpu_percent(3) #最近3秒钟cpu平均使用率

>>>psutil.cpu_freq() #CPU频率

scpufreq(current=804.0, min=0.0, max=2112.0)

>>>psutil.cpu_stats() #CPU状态

scpustats(ctx_switches=1910389985, interrupts=2644388135, soft_interrupts=0, syscalls=3686421224)

>>>import psutil

>>>psutil.virtual_memory()

部分嵌入式系统:

svmem(total=16919429120, available=4207607808, percent=75.1, used=12711821312, free=4207607808)

linux系统:

svmem(total=135077658624,available=12628275200,percent=90.7,used=122103193600,free=10256912384,active=111388827648,inactive=6278348800,buffers=278413312,cached=2439139328,shared=184320)

解析

1)total:总物理内存,包括已使用的物理内存和没使用的物理内存

total = used + free

2)used:已使用的物理内存

3)free:没使用的物理内存

4)available:可用内存,其包括没使用的物理内存,缓冲(如存在),缓存(若存在)。

available = free + buffers + cached

注意available和free的区别

5)percent:内存使用率,(总物理内存大小 - 可用内存大小) / 总物理内存大小 * 100

percent = (total - available) / total * 100

延伸

交换内存

>>>import psutil

>>>psutil.swap_memory()

sswap(total=29810581504, used=26177650688, free=3632930816, percent=87.8, sin=0, sout=0)

>>>import psutil

>>>psutil.disk_usage("C:") # C盘的使用率

sdiskusage(total=285441257472, used=103434944512, free=182006312960, percent=36.2)

>>>psutil.disk_usage("/") # 根分区的使用率

sdiskusage(total=225328492544, used=77228355584, free=148100136960, percent=34.3)

>>>psutil.disk_partitions() # 获取分区信息

[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed', maxfile=255, maxpath=260), sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed', maxf

ile=255, maxpath=260)]

>>>psutil.disk_io_counters() #  获取硬盘总的io和读写信息

sdiskio(read_count=3036624, write_count=7461516, read_bytes=111278890496, write_bytes=176975582208, read_time=1369, write_time=3012)

>>>psutil.disk_io_counters(perdisk=True) # 获取单分区的io和读写信息

'PhysicalDrive0': sdiskio(read_count=3046900, write_count=7464803, read_bytes=111679064576, write_bytes=177050010624, read_time=1372, write_time=3014)

python跨平台的进程管理psutil

      psutil 是一个 Python模块用来获取正在运行的进程信息和系统的CPU和内存的利用率。类似 Linux 的 ps 、top 和 Windows 的任务管理器等程序。可以处理系统CPU,memory,disks,network等信息。主要用于系统资源的监控,分析,以及对进程进行一定的管理。通过psutil可以实现如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。在Linux,windows,OSX,freebsd、Sun Solaris等系统上工作

https://github.com/giampaolo/psutil

http://www.jianshu.com/p/64e265f663f6





本文出自 “IT技术学习与交流” 博客,谢绝转载!

以上是关于psutil之cpu、memory、disk解析的主要内容,如果未能解决你的问题,请参考以下文章

python跨平台的进程管理psutil

[新星计划] Python psutil模块 | 使用Python实现运维监控

[新星计划] Python psutil模块 | 使用Python实现运维监控

psutil模块

python笔记之psutil模块

设计模式之外观模式(门面模式)