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. 关于print()、sys.stdout、sys.stderr的一些理解

    print() 方法的语法: print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 其中file = sys.stdout的 ...

  2. JavaScript函数、对象和数组

    一.JavaScript函数 1.定义函数:函数的通用语法如下 function function_name([parameter [, ...]]) { statements; } 由关键字func ...

  3. 栈的简单应用之中缀表达式转后缀表达式(C语言实现逆波兰式)

    一.前言   普通人在书写计算式时会选择中缀表达式,这样符合人脑的认知习惯.可计算机处理时后缀表达式才能使处理速度更快,其原因是利用堆栈结构减少计算机内存访问.同时它也是一个很好锻炼栈这个数据结构的应 ...

  4. Ehcache缓存框架与 Shiro 框架 出现出现验证错误 && Tomcat 缓存清除的问题

    当一个项目使用久了以后就会出现各种问题,下面是我遇到的一个权限验证错误的问题 我的项目是   Ehcache 结合 Shiro  一起使用的,项目用用久了出现   Token验证错误,Cookie之类 ...

  5. springboot之json传参(后台控制层如何接收和解析参数)

    一般web端都是用form标签的形式进行表单提交到后台,后台控制层再用相应的实体对象去接收前端传来的json参数. 但是有时候前端界面很复杂,要传入后端的参数是各种标签里面的value值,这些值又是来 ...

  6. 洛谷P1583 魔法照片

    https://www.luogu.org/problem/P1583 话不多说,其实就是模拟,然后,各种繁琐 #include<bits/stdc++.h> using namespac ...

  7. 对象Bean与Map互转问题

    一.摘要 在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象.Map 之间进行互转有很多种方式,下面我们一起来梳理一下: 利用 JSON 工具包,将对象转成字符串,之后再转成 ...

  8. Thymeleaf th:include,th:replace使用

    来自:https://blog.csdn.net/believe__sss/article/details/79992408

  9. 如何查看当前工程,已经安装的nuget包?

    本文链接:https://blog.csdn.net/Microsoft_Mao/article/details/101161872如果想知道,当前解决方案(solution)里都安装了什么包,这里可 ...

  10. 洛谷 P5569 [SDOI2008]石子合并 GarsiaWachs算法

    石子合并终极通用版 #include<bits/stdc++.h> using namespace std ; ]; int n,t,ans; void combine(int k) { ...