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,注意大写) 查使用 ...
随机推荐
- jQuery 常用操作
jQuery操作: 不像dom是通过等号赋值,它是传递参数 $('#tb:checkbox').prop('checked'); 获取值 $('#tb:checkbox').prop('checked ...
- python调用tcpdump抓包过滤
之前在linux用python脚本写一个抓包分析小工具,实在不想用什么libpcap.pypcap所以,简单来了个tcpdump加grep搞定.基本思路是分别起tcpdump和grep两个进程,进程直 ...
- sql重置标识
DBCC CHECKIDENT ( 'table_name' [ , { NORESEED | { RESEED [ , new_reseed_val ...
- node.js 学习的一个链接
Node.js简介 点击查看 狼叔 的
- a标签返回上一页,并刷新
<a href="javascript:" onclick="self.location=document.referrer;">返回上一页并刷新& ...
- 胖子哥的大数据之路(10)- 基于Hive构建数据仓库实例
一.引言 基于Hive+Hadoop模式构建数据仓库,是大数据时代的一个不错的选择,本文以郑商所每日交易行情数据为案例,探讨数据Hive数据导入的操作实例. 二.源数据-每日行情数据 三.建表脚本 C ...
- django之创建项目,添加app
一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python man ...
- 【idea】之取消@param注释参数错误提示
改为
- openstack添加热添加硬盘并识别
假定在虚拟机当中添加了磁盘,但是虚拟机没有识别出来:如何识别出来 可以使用命令 echo '- - -' >/sys/class/scsi_host/host0/scan 使用后就可以识别出来了 ...
- centos6.8下l2tp客户端xl2tpd的安装配置
环境: DigitalOcean centos6.8作为l2tp客户端 ros6.43.8作为l2tp服务端 1.安装xl2tp和ppp rpm -ivh http://mirrors.yun-idc ...