python Linux系统信息

内存信息 / 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
时间: 2024-11-12 04:48:40

python Linux系统信息的相关文章

python获取系统信息psutil

python获取系统信息psutil:psutil获取系统cpu使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu,interval指定的是计算cpu使用率的时间间隔,percpu则指定是选择总的使用率还是每个cpu的使用率. import psutil #cpu使用率 cpu=(str)(psutil.cpu_percent(1))+'%' #剩余内存.free 总共.total memory=str(psutil.virtual_memory().f

Inxi:一个功能强大的获取Linux系统信息的命令行工具

Inxi 最初是为控制台和  IRC(网络中继聊天)开发的一个强大且优秀的命令行系统信息脚本.可以使用它获取用户的硬件和系统信息,它也用于调试或者社区技术支持工具. 使用 Inxi 可以很容易的获取所有的硬件信息:硬盘.声卡.显卡.网卡.CPU 和 RAM 等.同时也能够获取大量的操作系统信息,比如硬件驱动.Xorg  .桌面环境.内核.GCC 版本,进程,开机时间和内存等信息. 运行在命令行和 IRC 上的 Inxi 输出略有不同,IRC 上会有一些可供用户使用的默认过滤器和颜色选项.支持的

Linux系统信息

Linux系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/memin

Linux系统信息查看命令大全

Linux系统信息查看命令大全 最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令. 想起以前写过的一篇其实Linux这样用更简单, 发现这些系统信息查看命令也可以总结出一篇小小的东西来了. 另外这里还有非常多的命令, 可以作为参考. 系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -

如何使用Neofetch个性化显示Linux系统信息

可用于查看和显示 Linux 系统信息的开源工具和脚本实在太多,Neofetch 也是其中之一,Neofetch 可以以更全面的方式来显示输出详实的 Linux 系统信息,简单地来说,如果你想查看 Linux 所使用的硬件规格.内核版本.运行时间和桌面环境等信息,Neofetch 会非常适合你.之所以要推荐它,是因为其输出非常个性化.有意思. 安装Neofetch 使用下面的步骤,我们可以非常容易的在 Debian/Ubuntu 中安装 Neofetch.由于 Neofetch 是一个适用于大多

Linux系统信息日志

我们可以看到Linux系统信息日志的途径基本有以下2种: (1)dmesg查看----这个命令比较常见 (2)/var/log/下的文件 那下面我们就从这个2个途径着手,一步步的走下去. (一)首先,我们来看dmesg这个常见的命令背后隐藏的是什么!! (1)先让我们来MAN一下这个家伙 -------------man dmesg-------------------------- 1.NAME 2.dmesg - print or control the kernel ring buffer

linux系统信息查询: 内核版本,分支(发行版)名称,位数,cpu信息等

linux系统信息查询: 内核版本,分支(发行版)名称,位数,cpu信息等. 1.# uname -a (显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号.) Linux hzhsan2015  2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 x86_64 x86_64 x86_64GNU/Linux # uname -r (显示操作系统的发行版号) 2.6.32.12-0.7-default 2.#

[Python]linux自己定义Python脚本命令

在window下写好的程序配置到Linux上,要实现随意文件夹下的命令调用. 因为初学Linux,这里从文件传输等最主要的方法入手,记录配置的过程中遇到的各种问题. 连接远端server 这里使用putty这个工具,用SSH方法连上远端server 传输文件 使用FTP传输,这里用filezilla作为本地server,图形化界面,方便快捷 安装文件中引用的python包 wget url 命令联网下载安装包 wget http:/www.^&*&%%& 解压缩(详细可见blog:

[Python]linux自定义Python脚本命令

在window下写好的程序配置到Linux上,要实现任意目录下的命令调用. 由于初学Linux,这里从文件传输等最基本的方法入手,记录配置的过程中遇到的各种问题. 连接远端服务器 这里使用putty这个工具,用SSH方法连上远端服务器 传输文件 使用FTP传输,这里用filezilla作为本地服务器,图形化界面,方便快捷 安装文件里引用的python包 wget url 命令联网下载安装包 wget http:/www.^&*&%%& 解压缩(具体可见blog:http://www