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. C++ log4cpp使用(转)

    参考文章: 1.常用C++库(1)日志库 https://blog.csdn.net/qilimi1053620912/article/details/87378707 2.一步步入门log4cpp  ...

  2. JS对象简介

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JUC-JUC强大的辅助类讲解(Semaphore、CyclicBarrier、CountDownLatch)

    一.CountDownLatch 减少计数 1.原理 * CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞. * 其它线程调用countDown方法会将 ...

  4. jdk8-》joining、groupingBy、summarizingInt函数

    拼接函数 Collectors.joining // 3种重载方法 Collectors.joining() Collectors.joining("拼接符") Collector ...

  5. re正则匹配模块_python

    一.re模块 1.模块功能 通过re模块的接口接入正则表达式语言,主要用于匹配字符串. 2.正则表达式元字符以及意义 . 代表任意一个字符(除了换行符\n) ^ 以什么开头 $ 以什么结尾 * 重复匹 ...

  6. (转)KMP算法

    转自:http://blog.csdn.net/yutianzuijin/article/details/11954939 我们首先用一个图来描述kmp算法的思想.在字符串O中寻找f,当匹配到位置i时 ...

  7. (转)eclipse调试java程序的九个技巧

    转自:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...

  8. codeforces div2_603 F. Economic Difficulties(树dfs预处理+dp)

    题目连接:http://codeforces.com/contest/1263/problem/F 题意:有n个设备,上和下分别连接着一颗树,上下两棵树每棵树的叶子节点连接一个设备,两棵树的根节点都是 ...

  9. SpringBoot与动态多数据源切换

      本文简单的介绍一下基于SpringBoot框架动态多数据源切换的实现,采用主从配置的方式,配置master.slave两个数据库. 一.配置主从数据库 spring: datasource: ty ...

  10. python call perl

    import subprocess subprocess.call("csv_gen.pl -by overall", shell=True)