import psutil

def cpu_information():
#scputimes(user=26.9, nice=0.1, system=50.27, idle=8551.89, iowait=1.97, irq=0.0, softirq=1.86, steal=0.0, guest=0.0, guest_nice=0.0)
cpu_schemas=[ ("%usertime","%Nice", "%system","%idle" ,"%iowait","irq","softirq","steal","guest","guest_nice" )]
cpuinfo_list=psutil.cpu_times(percpu=True)
for cpu in cpuinfo_list:
user=cpu.user
nice=cpu.nice
system=cpu.system
idle=cpu.idle
iowait=cpu.iowait
irq=cpu.irq
softirq=cpu.softirq
steal=cpu.steal
guest=cpu.guest
guest_nice=cpu.guest_nice
info=[user,nice,system,idle,iowait,irq,softirq,steal,guest,guest_nice]
cpu_schemas.append(info)
# cpu_schemas.append(psutil.cpu_percent(percpu=True))
for i in cpu_schemas:
a=[i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9]]
b=[str(i) for i in a]
print(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9])
def disk_info():
# disk=psutil.cpu_percent(percpu=True)
infos=[["r_count","w_count","r_bytes","w_bytes","r_time","w_time","r_merge_count","w_merge_count","busy_time"]]
disks=psutil.disk_io_counters(perdisk=True)
for k,v in disks.items():
read_count=v.read_count
write_count=v.write_count
read_bytes=v.read_bytes
write_bytes=v.write_bytes
read_time=v.read_time
write_time=v.write_time
read_merge_count=v.read_merged_count
write_merge_count=v.write_merged_count
busy_time=v.busy_time one_disk=[k,read_count,write_count,read_bytes,write_bytes,read_time,write_time,read_merge_count,write_merge_count,busy_time]
infos.append(one_disk)
for i in infos:
#print(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])
a=[i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8]]
b = [str(m) for m in a]
print(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8]) def network_info():
nets=psutil.net_io_counters(pernic=True)
nets_info=[["network_card","sent_bytes","recv_bytes","packets_sent","packets_recv","errin","errout","dropin","dropout"]]
for k,v in nets.items():
network=k
bytes_sent=v.bytes_sent
bytes_recv=v.bytes_recv
packets_sent=v.packets_sent
packets_recv=v.packets_recv
errorin=v.errin
errout=v.errout
dropin=v.dropin
dropout=v.dropout
one_net=[network,bytes_sent,bytes_recv,packets_sent,packets_recv,errorin,errout,dropin,dropout]
nets_info.append(one_net)
for i in nets_info:
#print(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])
a=[i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8]]
b=[str(m) for m in a]
print(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8]) def mem_info():
mems=psutil.virtual_memory()
total=mems.total
used=mems.used
free=mems.free
available=mems.available
percent=mems.percent
active=mems.active
inactive=mems.inactive
buffers=mems.buffers
cached=mems.cached
shared=mems.shared
slab=mems.slab swaps=psutil.swap_memory()
swap_total=swaps.total
# swap_available=swaps.available swap_used=swaps.used
swap_free=swaps.free
swap_percent = swaps.percent
sin=swaps.sin
sout=swaps.sout # swap_active=swaps.active
# swap_inactive=swaps.inactive
# swap_buffers=swaps.buffers
# swap_cached=swaps.cached
# swap_shared=swaps.shared
# swap_slab=swaps.slab
virtual_mem_info =[["total","used","free","available","percent","active","inactive","buffers","cached","shared","slab"]]
swaps_mem_info=[["swap_total","swap_used","swap_free","swap_percent","sin","sout"]]
virtual_mem_info.append([total,used,free,available,percent,active,inactive,buffers,cached,shared,slab])
swaps_mem_info.append([swap_total,swap_used,swap_free,swap_percent,sin,sout])
# virtual_mem_info.extend(swaps_mem_info)
for i in virtual_mem_info:
#print(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10])
a=[i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10]]
b=[str(m) for m in a]
print(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10])
for j in swaps_mem_info:
#print(j[0],j[1],j[2],j[3],j[4],j[5])
c=[j[0],j[1],j[2],j[3],j[4],j[5]]
d=[str(y) for y in c]
print(d[0],d[1],d[2],d[3],d[4],d[5]) def unions():
print("=====cpuinfo=======")
cpu_information()
print("======disk info=====")
disk_info()
print("=====meminfo========")
mem_info()
print("======netioinfo=====")
network_info() if __name__ == '__main__':
unions()

cpu io disk mem监控 python的更多相关文章

  1. Linux 性能监控之CPU&内存&I/O监控Shell脚本1

    Linux 性能监控之CPU&内存&I/O监控Shell脚本1   by:授客 QQ:1033553122   #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...

  2. Linux 性能监控之CPU&内存&I/O监控Shell脚本2

    Linux 性能监控之CPU&内存&I/O监控Shell脚本2   by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...

  3. java 7中新增的CPU和负载的监控

    java 7中新增的CPU和负载的监控 import java.lang.management.ManagementFactory; import java.lang.management.Opera ...

  4. CPU IO MEM NETWork 监控命令

    性能优化中CPU.内存.磁盘IO.网络性能的依赖(上) 性能优化中CPU.内存.磁盘IO.网络性能的依赖(下)

  5. 性能分析之工具使用——cpu、io 、mem【工具分析】

    nmon nmon 是一种在aix 与各种 Linux 操作系统上广泛使 用的监控与与分析工具,他主要记录以下内容: • cpu 占用率 • 内存使用情况 • 磁盘I/O 速度.传输和读写比率 • 文 ...

  6. stress施压案例分析——cpu、io、mem【命令分析】

    stress施压命令分析 一.stress --cpu 1 --timeout 600  分析现象?负载为啥这么高?top命令查看用户进程消耗的cpu过高(stress进程消耗的) 分析现象,可以看出 ...

  7. Linux系统资源查询命令(cpu、io、mem)

    cpu/mem: 1. 指定pid top -p pid1,pid2,... 2. top排序 先top,然后  输入大写P,则结果按CPU占用降序排序.输入大写M,结果按内存占用降序排序. io: ...

  8. CPU、io、mem之间的关系

    https://blog.csdn.net/weixin_38250126/article/details/83412749 https://blog.csdn.net/joeyon1985/arti ...

  9. 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控

     zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务 ...

随机推荐

  1. BindingException: Invalid bound statement (not found)问题

  2. asp.net中正则表达式使用

    一.限定符:限定符提供了一种简单方法,用于指定允许特定字符或字符集自身重复出现的次数.限定符始终引用限定符前(左边)的模式,通常是单个字符,除非使用括号创建模式组. (一)非显示限定符 1. *,描述 ...

  3. 【Python】遍历循环

  4. 大二组队(NABCD)

    (Need)需求 很多时候,外人都不了解我们的校园.为了宣传铁大.让更多人了解校园.走进铁大. (Approach)做法 我们有最基本的展示.对校园风貌有基本的讲解.有论坛供应大家讨论. (Benef ...

  5. SpringMVC 配置.html拦截时,返回JSON数据时出现406错误解决方案

    [说明]在SpringMVC框架的使用中常常会使用@ResponseBody注解,修饰"处理器"(Controller的方法),这样在处理器在返回完毕后,就不走逻辑视图,而是将返回 ...

  6. 字符串UTF-8和GBK之间的转换以及判定

    一.判定字符串是否是UTF-8的编码 bool is_str_utf8(const char* str) { unsigned ;//UFT8可用1-6个字节编码,ASCII用一个字节 unsigne ...

  7. mysql数据库事务的操作与理解

    --------------------事务----------------------------------------------查询mysql事务隔离级别1.查看当前会话隔离级别select ...

  8. css公共

    @charset "utf-8"; /* CSS Document */ *{ padding:; margin:; } ul,li{ list-style: none; } a{ ...

  9. Python - python3.7新增的contextvars vs Thread local(threading.local)

    总结 和threading.local()类似.Python3.7新增. thread.local(): 不同线程,同一个变量保存不同的值. contextvars: 不同上下文,同一个变量保存不同的 ...

  10. Ubuntu16.04配置

    一.将源更换为国内的源,这样下载和更新软件的速度会快很多.将/etc/apt/sources.list文件的内容更换为如下: #默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消 ...