paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息

简介: paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息

需求分析:

监控脚本使用psutil模块来获取:

1、隔一秒钟输出一次信息,运行之后监控10s: import time   ,time.sleep(1)

2、cpu的平均使用率、显示cpu的逻辑核数,

3、显示总内存大小(单位m),使用率

4、磁盘/(根)目录大小(单位m),使用率。

5、显示当前时间:import datatime

6、本机ip是多少,网络使用情况,收发多少m数据

7、将这些使用情况保存到一个文件中。

单位转换:字节(bite)-兆(M)-G(1024)

直接打印输出:

import psutil #是一个功能强大的跨平台的系统管理库
import datetime
import time
def func1():
    # #cpu的逻辑核数
    cpu_core = psutil.cpu_count(logical=False)
    # cpu的使用率
    # time.sleep(1) #睡眠一秒钟
    cup_per = psutil.cpu_percent(interval=1)#每隔1秒刷新一下
    # 内存信息
    memory_info = psutil.virtual_memory()
    # 硬盘信息
    disk_info = psutil.disk_usage("/") #根目录磁盘信息
    # 网络信息
    net_info = psutil.net_io_counters()
    #接收数据
    in_info = net_info.bytes_recv
    #发送数据:
    send_info = net_info.bytes_sent
    #本机ip
    ip_add = psutil.net_if_addrs()
    # print(ip_add)
    ##windows中的ip截取:
    #ip_add1 = ip_add['本地连接* 13'][2][1]
    #Linux中的ip截取
    ip_add1 = ip_add['ens33'][0][1]
    # 获取当前系统时间
    current_time = datetime.datetime.now().strftime("%F %T")  #%F年月日 %T时分秒
#方式一:直接打印输出
    print(f"当前时间为:{current_time}")
    print(f"cpu的逻辑核数为:{cpu_core}")
    print(f"cpu的使用率为:{cup_per}%")
    print(f"总内存大小为:{memory_info.total/1024/1024}M")
    print(f"根目录大小为:{disk_info.total/1024/1024}M")
    # print(f"本机的ip为{ip_add1}")
    print(f"网络使用情况为:接收的数据为:{in_info/1024/1024}M,发送的数据为:{send_info/1024/1024}M")
字节(bite)-兆(M)-G(1024)
start = time.time()
end = time.time()
count = 0
while end - start < 10:
    count += 1
    end = time.time()
    time.sleep(1)
    print(f"第{count}次")
    func1()

设计的界面更加好看完善:

import psutil #是一个功能强大的跨平台的系统管理库
import datetime
import time
def func():
    # cpu的使用率
    cup_per = psutil.cpu_percent(interval=0.5)  # 0.5刷新频率
    time.sleep(1)  # 睡眠一秒钟
    # cpu的逻辑核数
    cpu_core = psutil.cpu_count(logical=False)
    # 内存信息
    memory_info = psutil.virtual_memory()
    # 硬盘信息
    disk_info = psutil.disk_usage("/")  # 根目录磁盘信息
    # 获取当前系统时间
    current_time = datetime.datetime.now().strftime("%F %T")  # %F年月日 %T时分秒
    # 获取网络信息
    network = psutil.net_io_counters()
    # 接收数据
    in_info = network.bytes_recv
    #发送数据:
    send_info = network.bytes_sent
    # 本机ip
    ip_add = psutil.net_if_addrs()
    print(ip_add)
    #windows中的ip截取:
    ip_add1 = ip_add['本地连接* 13'][2][1]
    # #Linux中的ip截取
    # ip_add1 = ip_add['ens33'][0][1]
    # 方式二:拼接显示
    log_str = "|---------------------|----------|---------------|--------------|----------------------------------------|\n"
    log_str += "|---------time--------|---cpu----|-----memory----|-----disk-----|----------------network-----------------|\n"
    log_str += "|                     |   %dcore  |   %.2fM    |  %.2fM   |      ip:%s                 |\n" \
               % (cpu_core, memory_info.total/1024/1024, disk_info.total/1024/1024,  ip_add1)
    log_str += "| %s |   %s%%   |     %s%%     |     %s%%    |      in: %.2fM    out: %.2fM       |\n" \
               % (current_time, cup_per, memory_info.percent, disk_info.percent,in_info/1024/1024,send_info/1024/1024)
    print(log_str)
    # 保存信息到文件
    with open("log.txt", "a+") as f:
        f.write(log_str + "\n\n")  # 写入信息
#方式二:循环
count = 0
for i in range(10):
    count += 1
    print(f"第{count}秒监控到的信息".center(50,"*"))
    func()


相关文章
|
6月前
|
缓存 人工智能 算法
不同业务怎么选服务器?CPU / 内存 / 带宽配置表
本文详解了服务器三大核心配置——CPU、内存、带宽,帮助读者快速理解服务器性能原理。结合不同业务场景,如个人博客、电商、数据库、直播等,提供配置选择建议,并强调合理搭配的重要性,避免资源浪费或瓶颈限制。内容实用,适合初学者和业务选型参考。
1029 0
|
6月前
|
存储 消息中间件 缓存
从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?
在数据爆炸的时代,如何高效存储与管理海量数据成为系统设计的核心挑战。本文从计算机存储体系结构出发,解析B+树、LSM树与Kafka日志结构在不同数据库中的应用与优化策略,帮助你深入理解高性能存储背后的原理。
221 0
|
5月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
547 11
|
6月前
|
存储 大数据 Unix
Python生成器 vs 迭代器:从内存到代码的深度解析
在Python中,处理大数据或无限序列时,迭代器与生成器可避免内存溢出。迭代器通过`__iter__`和`__next__`手动实现,控制灵活;生成器用`yield`自动实现,代码简洁、内存高效。生成器适合大文件读取、惰性计算等场景,是性能优化的关键工具。
350 2
|
7月前
|
弹性计算 前端开发 NoSQL
2025最新阿里云服务器配置选择攻略:CPU、内存、带宽与系统盘全解析
本文详解2025年阿里云服务器ECS配置选择策略,涵盖CPU、内存、带宽与系统盘推荐,助你根据业务需求精准选型,提升性能与性价比。
|
7月前
|
传感器 数据采集 监控
Python生成器与迭代器:从内存优化到协程调度的深度实践
简介:本文深入解析Python迭代器与生成器的原理及应用,涵盖内存优化技巧、底层协议实现、生成器通信机制及异步编程场景。通过实例讲解如何高效处理大文件、构建数据流水线,并对比不同迭代方式的性能特点,助你编写低内存、高效率的Python代码。
311 0
|
8月前
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
2824 0
|
存储 设计模式 监控
快速定位并优化CPU 与 JVM 内存性能瓶颈
本文介绍了 Java 应用常见的 CPU & JVM 内存热点原因及优化思路。
1237 166
|
8月前
|
存储 弹性计算 固态存储
阿里云服务器配置费用整理,支持一万人CPU内存、公网带宽和存储IO性能全解析
要支撑1万人在线流量,需选择阿里云企业级ECS服务器,如通用型g系列、高主频型hf系列或通用算力型u1实例,配置如16核64G及以上,搭配高带宽与SSD/ESSD云盘,费用约数千元每月。
1096 0

推荐镜像

更多