美文网首页存档
psutil之cpu、memory、disk解析

psutil之cpu、memory、disk解析

作者: 小白兔胡萝卜 | 来源:发表于2021-12-01 20:08 被阅读0次

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

    CPU

    >>>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)

    MEMORY

    >>>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)

    DISK

    >>>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)}

    相关文章

      网友评论

        本文标题:psutil之cpu、memory、disk解析

        本文链接:https://www.haomeiwen.com/subject/khmdxrtx.html