1. #!/usr/bin/env python
  2. #coding:utf-8
  3. # qianxiao996精心制作
  4. #博客地址:https://blog.csdn.net/qq_36374896
  5. import psutil
  6. import datetime
  7. import time
  8. # 系统用户
  9. #users_count = len(psutil.users())
  10. #
  11. # >>> for u in psutil.users():
  12. # ... print(u)
  13. # ...
  14. # suser(name='root', terminal='pts/0', host='61.135.18.162', started=1505483904.0)
  15. # suser(name='root', terminal='pts/5', host='61.135.18.162', started=1505469056.0)
  16. # >>> u.name
  17. # 'root'
  18. # >>> u.terminal
  19. # 'pts/5'
  20. # >>> u.host
  21. # '61.135.18.162'
  22. # >>> u.started
  23. # 1505469056.0
  24. # >>>
  25. #users_list = ",".join([u.name for u in psutil.users()])
  26. #print(u"当前有%s个用户,分别是 %s" % (users_count, users_list))
  27. print('-----------------------------用户信息---------------------------------------')
  28. # 用户信息
  29. for u in psutil.users():
  30. print("当前登陆用户:"+u.name)
  31. print("IP 地址:"+u.host)
  32. print('-----------------------------CPU信息---------------------------------------')
  33. # CPU信息
  34. cpu_num = "物理CPU个数: %s" % psutil.cpu_count(logical=False)
  35. cpu = u"cup使用率: " + (str(psutil.cpu_percent(1))) + '%'
  36. print(cpu_num)
  37. print(cpu)
  38. print('-----------------------------时间信息---------------------------------------')
  39. now_time = u"系统当前时间: " + time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
  40. start_time = u"系统开机时间: " + datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(
  41. "%Y-%m-%d %H: %M: %S") + '\n'
  42. print(now_time)
  43. print(start_time)
  44. #网卡,可以得到网卡属性,连接数,当前流量等信息
  45. print('-----------------------------流量信息---------------------------------------')
  46. net = psutil.net_io_counters()
  47. bytes_sent = u"网卡发送流量: " + '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024)
  48. bytes_rcvd = u"网卡接收流量: " + '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024)
  49. print(bytes_sent)
  50. print(bytes_rcvd)
  51. print('-----------------------------磁盘信息---------------------------------------')
  52. # 磁盘信息
  53. io = psutil.disk_partitions()
  54. for i in io:
  55. o = psutil.disk_usage(i.device)
  56. print("总容量:" + str(int(o.total / (1024.0 * 1024.0 * 1024.0))) + "G")
  57. print("已用容量:" + str(int(o.used / (1024.0 * 1024.0 * 1024.0))) + "G")
  58. print("可用容量:" + str(int(o.free / (1024.0 * 1024.0 * 1024.0))) + "G")
  59. print('-----------------------------内存信息-------------------------------------')
  60. # 内存信息
  61. total = u"物理内存: " + str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2)) + 'G'
  62. total_used = u"物理内存已使用: " + str(
  63. round(psutil.virtual_memory().used / (1024.0 * 1024.0 * 1024.0), 2)) + 'G' + '\n'
  64. total_free = u"剩余物理内存: " + str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2)) + 'G'
  65. memory = u"物理内存使用率: " + str(psutil.virtual_memory().percent) + '%'
  66. print(total)
  67. print(total_used)
  68. print(total_free)
  69. print(memory)
  70. #查看内存信息,剩余内存.free 总共.total
  71. #round()函数方法为返回浮点数x的四舍五入值。
  72. print('-----------------------------进程信息-------------------------------------')
  73. # 查看系统全部进程
  74. for pnum in psutil.pids():
  75. p = psutil.Process(pnum)
  76. print(u"进程名 %-20s 内存利用率 %-18s 进程状态 %-10s 创建时间 %-10s " \
  77. % (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. suse 12 二进制部署 Kubernetets 1.19.7 - 第02章 - 部署etcd集群

    文章目录 1.2.部署etcd集群 1.2.0.下载etcd二进制文件 1.2.1.创建etcd证书和私钥 1.2.2.生成etcd证书和私钥 1.2.3.配置etcd为systemctl管理 1.2 ...

  2. web开发 小方法2-字体设置

    font-size 字体大小 直接给  (任意px) 就可以 font-family:"微软雅黑";   这个里面可以给多个用空格区分 按照先后优先级使用 当没有第一个字体的时候会 ...

  3. Linux 时间操作及其同步

    完整格式支持链接:https://blog.imakiseki.cf/2022/02/27/techdev/linux-time-operations-and-sync/ 本文将以 Arch Linu ...

  4. 神奇!这款 Vue 后台框架居然不用手动配置路由

    前言 做 Vue 开发脱离不了路由,尤其是中大型项目,页面多且杂,在配置路由的时候总是会变得逐渐暴躁,因为费时,并且又没有什么太多技术含量,总觉得是在浪费时间. 另外如果接手了别人的项目,当业务有变更 ...

  5. OpenGL ES 3D空间中自定义显示空间

    在Android中,我们所熟知的是在ES管线中,其在图元装配时,会进行图元组装与图元分配,这样就回剪裁出来视景体中的物体.但是如果我想在3D场景中规定一个区域,凡是在这个区域中的物体就能显示出来,非这 ...

  6. [旧][Android] Retrofit 源码分析之 ServiceMethod 对象

    备注 原发表于2016.05.03,资料已过时,仅作备份,谨慎参考 前言 大家好,我又来学习 Retrofit 了,可能这是最后一篇关于 Retrofit 框架的文章了.我发现源码分析这回事,当时看明 ...

  7. Keepalived非抢占模式配置

    一.前言 HA的实际运行过程中,当主机发生异常,且后期恢复正常后,存在抢占或非抢占两种情况. 结合实际需求,可能有很多用户需要非抢占的HA工作模式.keepalived能够很好的支持这一需求. 二.k ...

  8. C#基础之IL ,轻松读懂中间代码IL 转载

    [No0000152]C#基础之IL,轻松读懂IL   先说说学IL有什么用,有人可能觉得这玩意平常写代码又用不上,学了有个卵用.到底有没有卵用呢,暂且也不说什么学了可以看看一些语法糖的实现,或对.n ...

  9. kubebuilder operator的运行逻辑

    kubebuilder 的运行逻辑 概述 下面是kubebuilder 的架构图.可以看到最外层是通过名为Manager的组件驱动的,Manager中包含了多个组件,其中Cache中保存了gvk和in ...

  10. java 执行shell命令遇到的坑

    正常来说java调用shell命令就是用 String[] cmdAry = new String[]{"/bin/bash","-c",cmd} Runtim ...