#!/usr/bin/env python
#coding:utf-8
# qianxiao996精心制作
#博客地址:https://blog.csdn.net/qq_36374896
import psutil
import datetime
import time
# 系统用户
#users_count = len(psutil.users())
#
# >>> for u in psutil.users():
# ... print(u)
# ...
# suser(name='root', terminal='pts/0', host='61.135.18.162', started=1505483904.0)
# suser(name='root', terminal='pts/5', host='61.135.18.162', started=1505469056.0)
# >>> u.name
# 'root'
# >>> u.terminal
# 'pts/5'
# >>> u.host
# '61.135.18.162'
# >>> u.started
# 1505469056.0
# >>> #users_list = ",".join([u.name for u in psutil.users()])
#print(u"当前有%s个用户,分别是 %s" % (users_count, users_list)) print('-----------------------------用户信息---------------------------------------')
# 用户信息
for u in psutil.users():
print("当前登陆用户:"+u.name)
print("IP 地址:"+u.host) print('-----------------------------CPU信息---------------------------------------')
# CPU信息
cpu_num = "物理CPU个数: %s" % psutil.cpu_count(logical=False)
cpu = u"cup使用率: " + (str(psutil.cpu_percent(1))) + '%'
print(cpu_num)
print(cpu) print('-----------------------------时间信息---------------------------------------')
now_time = u"系统当前时间: " + time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
start_time = u"系统开机时间: " + datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(
"%Y-%m-%d %H: %M: %S") + '\n'
print(now_time)
print(start_time) #网卡,可以得到网卡属性,连接数,当前流量等信息
print('-----------------------------流量信息---------------------------------------')
net = psutil.net_io_counters()
bytes_sent = u"网卡发送流量: " + '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024)
bytes_rcvd = u"网卡接收流量: " + '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024)
print(bytes_sent)
print(bytes_rcvd) print('-----------------------------磁盘信息---------------------------------------')
# 磁盘信息
io = psutil.disk_partitions()
for i in io:
o = psutil.disk_usage(i.device)
print("总容量:" + str(int(o.total / (1024.0 * 1024.0 * 1024.0))) + "G")
print("已用容量:" + str(int(o.used / (1024.0 * 1024.0 * 1024.0))) + "G")
print("可用容量:" + str(int(o.free / (1024.0 * 1024.0 * 1024.0))) + "G") print('-----------------------------内存信息-------------------------------------')
# 内存信息
total = u"物理内存: " + str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2)) + 'G'
total_used = u"物理内存已使用: " + str(
round(psutil.virtual_memory().used / (1024.0 * 1024.0 * 1024.0), 2)) + 'G' + '\n'
total_free = u"剩余物理内存: " + str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2)) + 'G'
memory = u"物理内存使用率: " + str(psutil.virtual_memory().percent) + '%'
print(total)
print(total_used)
print(total_free)
print(memory) #查看内存信息,剩余内存.free 总共.total
#round()函数方法为返回浮点数x的四舍五入值。 print('-----------------------------进程信息-------------------------------------')
# 查看系统全部进程
for pnum in psutil.pids():
p = psutil.Process(pnum)
print(u"进程名 %-20s 内存利用率 %-18s 进程状态 %-10s 创建时间 %-10s " \
% (p.name(), p.memory_percent(), p.status(), p.create_time()))

python psutila模块的更多相关文章

  1. python psutila模块(示例)

    # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import psutil import time import datetime ...

  2. Python标准模块--threading

    1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...

  3. Python的模块引用和查找路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...

  4. Python Logging模块的简单使用

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

  5. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  6. python基础-模块

    一.模块介绍                                                                                              ...

  7. python 安装模块

    python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...

  8. python Queue模块

    先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...

  9. python logging模块可能会令人困惑的地方

    python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...

随机推荐

  1. Dubbo原理解析(非常透彻)

    一.概述 dubbo是一款经典的rpc框架,用来远程调用服务的. dubbo的作用: 面向接口的远程方法调用 智能容错和负载均衡 服务自动注册和发现. 自定义序列化协议 Dubbo 架构中的核心角色有 ...

  2. JVM基础学习(一):JVM内存模型

    在Java进阶知识的学习中,JVM都是避不过去的一关,我个人对于JVM的理解其实就是相当于在操作系统的外层再加了一层中间层,从来屏蔽了具体硬件之间的不同实现,使得Java实现了最重要的特性:一次编译, ...

  3. DubboSPI机制二之Dubbo中SPI初体验

    Dubbo高级之一SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中阐述了JDK标准的SPI,并对其应用做了相应的实践.在实际应用中,很多框架都会对其进行扩展 ...

  4. ASP.NET Core 6框架揭秘-实例演示版[持续更新中…]

    作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...

  5. log4j、logback日志框架与统一接口slf4j说明

    log4j 传入日志框架,老项目中使用较多. 日志级别 根日志级别 log4j.rootLogger=info 默认日志级别,设置后对于没有设置子级别的日志输出都走这个默认值. 子类日志级别 log4 ...

  6. 攻防世界 MOBILE RemeberOther

    解题思路: 下载后解压可以得到一个apk文件和word文件.查看word文件,里面写了比较简单的一句话,未获有有效信息.(后续会讲到这个word文档的使用) word内容 运行apk文件,如图: ap ...

  7. 使用 matplotlib 显示彩色图像

    详细说明见代码注释 """ 介绍如何使用 matplotlib 输入.输出 彩色图像,并简要介绍如何将数组表示形式的图像数据显示为图像 """ ...

  8. RENIX报文两个字段嵌套变化——网络测试仪实操

    RENIX软件如何实现报文中两个字段嵌套变化,以下为您实操讲解详细步骤. 1.打开Renix软件,连接机框并预约测试端口: 2.创建一条RAW流量(Binding流量也可以,这里用RAW流做例子) 3 ...

  9. 【C# .Net GC】GC内存分配规则

    GC 管理内存分配和回收 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放. https://docs.microsoft.com/zh-cn/dotnet/standard/automati ...

  10. 关于Dll、Com组件、托管dll和非托管dll

    转自:https://blog.csdn.net/black_bad1993/article/details/53906252 Com组件 1.线程模型是干嘛用的?解决"多个线程" ...