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()


相关文章
|
14天前
|
存储 缓存 程序员
软考软件评测师——计算机组成与体系结构(CPU指令系统)
本内容详细解析了计算机中央处理器(CPU)的核心架构及其关键组件的工作原理。首先介绍了CPU的四大核心模块:运算单元、控制单元、寄存器阵列和内部总线,并阐述其在数据处理中的核心职责。接着深入探讨了算术逻辑部件(ALU)的功能与专用寄存器的作用,以及通用寄存器对性能提升的意义。随后分析了控制单元的指令处理流程及特殊寄存器的功能。此外,还解析了寄存器系统的分类与设计特点,并对比了不同内存访问模式的特点与应用场景。最后,通过历年真题巩固相关知识点,帮助理解CPU各组件的协同工作及优化策略。
|
3月前
|
监控 Linux Python
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
160 27
|
3月前
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
395 8
|
5月前
|
Windows
【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释
在Azure App Service中,CPU占比可在App Service Plan级别查看整个实例的资源使用情况。具体应用中仅能查看CPU时间,需通过公式【CPU Time / (CPU核数 * 60)】估算占比。CPU百分比适用于可横向扩展的计划(Basic、Standard、Premium),而CPU时间适用于Free或Shared计划。然而,CPU Percentage包含所有应用及系统占用的CPU,高CPU指标可能由系统而非应用请求引起。详细分析每个进程的CPU占用需抓取Windows Performance Trace数据。
142 40
|
5月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
703 23
|
6月前
|
存储 人工智能 vr&ar
转载:【AI系统】CPU 基础
CPU,即中央处理器,是计算机的核心部件,负责执行指令和控制所有组件。本文从CPU的发展史入手,介绍了从ENIAC到现代CPU的演变,重点讲述了冯·诺依曼架构的形成及其对CPU设计的影响。文章还详细解析了CPU的基本构成,包括算术逻辑单元(ALU)、存储单元(MU)和控制单元(CU),以及它们如何协同工作完成指令的取指、解码、执行和写回过程。此外,文章探讨了CPU的局限性及并行处理架构的引入。
转载:【AI系统】CPU 基础
|
6月前
|
人工智能 缓存 并行计算
转载:【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,讲解了CPU算力的计算方法、算力与数据加载之间的平衡,以及如何通过算力敏感度分析优化计算系统性能。同时,文章还考察了服务器、GPU和超级计算机等平台的性能发展,揭示了这些变化如何塑造我们对CPU性能的理解和期待。
转载:【AI系统】CPU 计算本质
|
6月前
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
215 3
|
6月前
|
监控 Java Android开发
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
|
1月前
|
数据可视化 Linux iOS开发
Python测量CPU和内存使用率
这些示例帮助您了解如何在Python中测量CPU和内存使用率。根据需要,可以进一步完善这些示例,例如可视化结果或限制程序在特定范围内的资源占用。
84 22

热门文章

最新文章