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实现运维监控