linux获取内存、cpu、负载、网口流量、磁盘信息
内存信息 / meminfo
返回dict
- #!/usr/bin/env python
- def memory_stat():
- mem = {}
- f = open("/proc/meminfo")
- lines = f.readlines()
- f.close()
- for line in lines:
- if len(line) < 2: continue
- name = line.split(':')[0]
- var = line.split(':')[1].split()[0]
- mem[name] = long(var) * 1024.0
- mem['MemUsed'] = mem['MemTotal'] - mem['MemFree'] - mem['Buffers'] - mem['Cached']
- return mem
CPU信息 / cpuinfo
返回list,每核心一dict
- #!/usr/bin/env python
- def cpu_stat():
- cpu = []
- cpuinfo = {}
- f = open("/proc/cpuinfo")
- lines = f.readlines()
- f.close()
- for line in lines:
- if line == '\n':
- cpu.append(cpuinfo)
- cpuinfo = {}
- if len(line) < 2: continue
- name = line.split(':')[0].rstrip()
- var = line.split(':')[1]
- cpuinfo[name] = var
- return cpu
负载信息 / loadavg
返回dict
- #!/usr/bin/env python
- def load_stat():
- loadavg = {}
- f = open("/proc/loadavg")
- con = f.read().split()
- f.close()
- loadavg['lavg_1']=con[0]
- loadavg['lavg_5']=con[1]
- loadavg['lavg_15']=con[2]
- loadavg['nr']=con[3]
- loadavg['last_pid']=con[4]
- return loadavg
运转时间 / Uptime
返回dict
- #!/usr/bin/env python
- def uptime_stat():
- uptime = {}
- f = open("/proc/uptime")
- con = f.read().split()
- f.close()
- all_sec = float(con[0])
- MINUTE,HOUR,DAY = 60,3600,86400
- uptime['day'] = int(all_sec / DAY )
- uptime['hour'] = int((all_sec % DAY) / HOUR)
- uptime['minute'] = int((all_sec % HOUR) / MINUTE)
- uptime['second'] = int(all_sec % MINUTE)
- uptime['Free rate'] = float(con[1]) / float(con[0])
- return uptime
获取网卡流量信息 /proc/net/dev
返回dict,单位byte
- #!/usr/bin/env python
- def net_stat():
- net = []
- f = open("/proc/net/dev")
- lines = f.readlines()
- f.close()
- for line in lines[2:]:
- con = line.split()
- """
- intf = {}
- intf['interface'] = con[0].lstrip(":")
- intf['ReceiveBytes'] = int(con[1])
- intf['ReceivePackets'] = int(con[2])
- intf['ReceiveErrs'] = int(con[3])
- intf['ReceiveDrop'] = int(con[4])
- intf['ReceiveFifo'] = int(con[5])
- intf['ReceiveFrames'] = int(con[6])
- intf['ReceiveCompressed'] = int(con[7])
- intf['ReceiveMulticast'] = int(con[8])
- intf['TransmitBytes'] = int(con[9])
- intf['TransmitPackets'] = int(con[10])
- intf['TransmitErrs'] = int(con[11])
- intf['TransmitDrop'] = int(con[12])
- intf['TransmitFifo'] = int(con[13])
- intf['TransmitFrames'] = int(con[14])
- intf['TransmitCompressed'] = int(con[15])
- intf['TransmitMulticast'] = int(con[16])
- """
- intf = dict(
- zip(
- ( 'interface','ReceiveBytes','ReceivePackets',
- 'ReceiveErrs','ReceiveDrop','ReceiveFifo',
- 'ReceiveFrames','ReceiveCompressed','ReceiveMulticast',
- 'TransmitBytes','TransmitPackets','TransmitErrs',
- 'TransmitDrop', 'TransmitFifo','TransmitFrames',
- 'TransmitCompressed','TransmitMulticast' ),
- ( con[0].rstrip(":"),int(con[1]),int(con[2]),
- int(con[3]),int(con[4]),int(con[5]),
- int(con[6]),int(con[7]),int(con[8]),
- int(con[9]),int(con[10]),int(con[11]),
- int(con[12]),int(con[13]),int(con[14]),
- int(con[15]),int(con[16]), )
- )
- )
- net.append(intf)
- return net
磁盘空间使用
使用内置python内置函数,返回dict,单位byte
- #!/usr/bin/env python
- def disk_stat():
- import os
- hd={}
- disk = os.statvfs("/")
- hd['available'] = disk.f_bsize * disk.f_bavail
- hd['capacity'] = disk.f_bsize * disk.f_blocks
- hd['used'] = disk.f_bsize * disk.f_bfree
- return hd
linux获取内存、cpu、负载、网口流量、磁盘信息的更多相关文章
- linux查看内存cpu占用
linux查看内存cpu占用top 命令 按q退出 可以添加额外选项选择按进程或按用户查看如: top -u gitu PID:进程idPR:进程的优先级别,越小越优先被执行NInice:值VIRT ...
- Linux查看内存,负载状态
Linux查看内存,负载状态 查看内存使用情况 www.ahlinux.com cat /proc/meminfo MemTotal: 16332644 kB MemFree: ...
- Linux系统排查——CPU负载篇
本随笔介绍CPU负载的排查手段. 查看系统负载的工具:uptime,w,都能查看系统负载,系统平均负载是处于运行或不可打扰状态的进程的平均数, 可运行:运行态,占用CPU,或就绪态,等待CPU调度. ...
- 【原创】(二)Linux进程调度器-CPU负载
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- linux里的CPU负载
昨天查看Nagios警报信息,发现其中一台服务器CPU负载过重,机器为CentOS系统.信息如下: 2011-2-15 (星期二) 17:50 WARNING - load average: 9.73 ...
- python脚本监控获取当前Linux操作系统[内存]/[cpu]/[硬盘]/[登录用户]
此脚本应用在linux, 前提是需要有python和python的psutil模块 脚本 #!/usr/bin/env python # coding=utf-8 import sys import ...
- Linux如何查看CPU负载
负载(load)是Linux机器的一个重要指标,直观了反应了机器当前的状态.如果机器负载过高,那么对机器的操作将难以进行. linux的负载高,主要是由于CPU使用.内存使用.IO消耗三部分构成.任意 ...
- 查看linux占用内存/CPU最多的进程
可以使用一下命令查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 可以使用一下命令查使用CPU最多的10个进程 ps -aux | sort -k3nr ...
- <转>查看linux占用内存/CPU最多的进程
转自 http://beginman.cn/page26/ 查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 或者top (然后按下M,注意大写) 查使用 ...
随机推荐
- 【java】运算符
Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符(9):+ - * / % ++ -- 关系运算符(6):== != > >= ...
- 【转】用python比对数据库表数据的脚本
最近在做一个数据库异构复制的项目,客户表示需要一个数据比对的工具,我就自己写了一个异构数据库的比对python脚本.这个比对脚本只能比对数量,不能比对具体的记录.使用的sql语句也是最基础的selec ...
- linux 服务器之间配置免密登录
客户机:172.16.1.2 远程机:172.16.1.3 1.远程机 a.允许root用户通过22端口登录 vi /etc/ssh/sshd_config PORT 22 PermitRootLog ...
- elasticsearch 常用命令(一)
索引 搜索 mapping 分词器 1.创建索引 http://192.168.65.131:9200/smartom_index?pretty 2.查看索引: http://192.168.65.1 ...
- PrintWriter中的write与println方法居然就是这些区别
为什么循环中分别用write方法和println方法效果一样呢? import java.io.*; public class WriteLog { private BufferedReader bf ...
- DS二叉树--左叶子数量
题目描述 计算一颗二叉树包含的叶子结点数量. 左叶子是指它的左右孩子为空,而且它是父亲的左孩子 提示:可以用三叉链表法,也可以用现有算法对两层结点进行判断 建树方法采用“先序遍历+空树用0表示”的方法 ...
- PyQt—QTableWidget实现翻页功能
主要使用QTableWidget中的三个函数实现: verticalScrollBar().setSliderPosition() 设置当前滑动条的位置 verticalScrollBar().max ...
- Python实现简单的网页抓取
现在开源的网页抓取程序有很多,各种语言应有尽有. 这里分享一下Python从零开始的网页抓取过程 第一步:安装Python 点击下载适合的版本https://www.python.org/ 我这里选择 ...
- 峰Redis学习(9)Redis 集群(概述)
第一节:Redis 集群概述 redis cluster是去中心化,去中间件的,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点 ...
- appium 点击物理按键
有时候我们遇到一些需要点击手机物理返回按键,或者home键等操作,总结如下: adb shell input keyevent 点击home键: adb shell input keyevent 3 ...