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,注意大写) 查使用 ...
随机推荐
- sublime text2+Ctags+Cscope替代Source Insight
说明:以Windows系统下查看C++代码为例.因为Source Insight(以下简称SI)是收费软件,且界面丑陋,所以考虑其替代方案,发现Sublime Text3(以下简称ST3) + Cta ...
- CentOS6.5把MySQL从5.1升级到5.6后,MySQL不能启动
解决了:进入mysql安装目录 cd /var/lib/mysql删除了如下三个文件:ibdata1 ib_logfile0 ib_logfile1 CentOS6.5把MySQL从5.1升级到5 ...
- Ubuntu Docker安装
docker容器改变apt-get源 记得先:apt-get update 进入容器 cd /etc/apt echo "">sources.list echo " ...
- Lucene - CustomScoreQuery 自定义排序
在某些场景需要做自定义排序(非单值字段排序.非文本相关度排序),除了自己重写collect.weight,可以借助CustomScoreQuery. 场景:根据tag字段中标签的数量进行排序(tag字 ...
- 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求. 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生成 ...
- [转][Oracle][null]
trim(nvl(ipaddress,'')) != '' 这段SQL 并没有像 MSSQL IsNull 一样返回不含空白或null 的内容 经尝试发现 trim('') 为 null a fr ...
- selector的小箭头去除
selector的小箭头去除 .not-arrow{ -webkit-appearance:none; -moz-appearance:none; appearance:none; /*去掉下拉箭头* ...
- android 根据滑动隐藏或显示导航 类似手机QQ好友个人信息
//重写ScrollView public class NotifyingScrollView extends ScrollView { /** * @author Cyril Mottier */ ...
- 字符编码-ASCII,GB2312,GBK,GB18030
ASCII ASCII,GB2312,GBK,GB18030依次增加,向下兼容. 手机只需要支持GB2312 电脑中文windows只支持GBK 发展历程 如果你使用编译器是python2.0版本,默 ...
- python的68个内置函数
内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...