Chinaunix首页 | 论坛 | 博客
  • 博客访问: 670085
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2022
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-23 11:16
个人简介

西邮大三狗!!!

文章分类

全部博文(87)

文章存档

2015年(47)

2014年(40)

分类: LINUX

2014-11-25 21:52:26

    在日常的系统管理中,我们需要对系统的状况有一定的了解,在python的第三方库中有一个psutil的跨平台库,它实现等同于命令行工具提供的功能,比如: ps、top、netstat、ifconfig等。我们可以利用它进行分析系统CPU、内存、磁盘、网络等信息。
    安装方法:
    wget 
    tar -zxf psutil-2.1.2.tar.gz
    cd  psutil-2.1.2
    python setup.py install

    这样我们的psutil库就安装好了,下面用一个简单的脚本来获取我们的系统信息,关于psutil库更多使用,请一起探讨!

  1. #!/usr/bin/env python

  2. import psutil
  3. import os
  4. import time

  5. #get cpuinfo
  6. def getcpustate():
  7.     print ("CPU:" +str(psutil.cpu_percent(interval=1))+"%\n")

  8. #get meminfo
  9. def getmeminfo():
  10.     mem = psutil.virtual_memory()
  11.     swap = psutil.swap_memory()
  12.     print ("Memory:%.2f%% %dMB/%dMB" % (mem.percent,mem.used/1024**2,mem.total/1024**2)),
  13.     print ("\t\tSwap:%.2f%% total:%dMB\n" % (swap.percent,swap.total/1024**2,))

  14. #get diskinfo
  15. def getdiskinfo():
  16.     disk = psutil.disk_io_counters()
  17.     print ("disk:read_count:%d\t\t\twrite_count:%d\ndisk:read_bytes:%d\t\twrite_bytes:%d\ndisk:read_time:%d\t\t\twrite_time:%d\n"
  18.            % (disk.read_count,disk.write_count,disk.read_bytes,disk.write_bytes,disk.read_time,disk.write_time))

  19. #get netinfo
  20. def getnetinfo():
  21.     net = psutil.net_io_counters()
  22.     print ("netinfo:sent_bytes:%d\t\trecv_bytes:%d\nnetinfo:sent_packets:%d\t\trecv_packets:%d"
  23.            % (net.bytes_sent,net.bytes_recv,net.packets_sent,net.packets_recv))

  24. if __name__ == '__main__':
  25.     while 1:
  26.         print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
  27.         getcpustate()
  28.         getmeminfo()
  29.         getdiskinfo()
  30.         getnetinfo()
  31.         os.system("sleep 3")
  32.         os.system("clear")
运行结果如下:


阅读(3414) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~