vs2013网站建设wordpress登录注册页面模板
- 作者: 多梦笔记
- 时间: 2026年02月18日 06:15
当前位置: 首页 > news >正文
vs2013网站建设,wordpress登录注册页面模板,网站建设人员叫什么,网络营销推广方法和手段目录 前言 系统准备 软件下载与安装 安装相关库 程序准备 主体程序 更改后的程序#xff1a; 编写.NET程序 前言 在现代生活中#xff0c;电脑作为核心工具#xff0c;其性能和稳定性的维护至关重要。为确保电脑高效运行#xff0c;我们不仅需关注软件优化#xf…目录 前言 系统准备 软件下载与安装 安装相关库 程序准备 主体程序 更改后的程序 编写.NET程序 前言 在现代生活中电脑作为核心工具其性能和稳定性的维护至关重要。为确保电脑高效运行我们不仅需关注软件优化如定期清理、安装防护软件、更新补丁和合理管理硬盘空间还需重视硬件保养特别是散热、定期硬件检查与适时升级。这些综合措施有助于延长电脑寿命提升使用体验。 本篇聚焦于利用Python这一强大工具实现对GPU和CPU等关键硬件运行状况的实时监控。通过Python脚本我们能够自动监测温度、负载等指标及时发现潜在问题。这种技术应用不仅简化了维护流程还提高了问题响应速度是现代电脑维护策略中的重要一环。接下来我们将深入探讨如何使用Python实现这些监控功能为电脑的持续健康运行提供有力支持。 通过本篇的探讨我们将掌握如何利用Python监控硬件为个人电脑的高效管理和维护开辟新途径让电脑在信息处理与科研探索中发挥更大效能。 诚邀各位大佬指正我将不胜感激。 系统准备 软件下载与安装 我用的软件是PyCharm Community Edition 2023.1下载安装请参考 https://m.runoob.com/python3/https://m.runoob.com/python3/ 安装相关库 我的电脑系统是Windows10要实现监控CPU和NVIDIA GPU的温度等情况采用的是psutil库读取CPU的特定数据GPU则使用nvidia-ml-py3库。 nvidia-ml-py3库是一个用于管理和监控NVIDIA GPU的python接口封装了NVML功能。通过它可以利用python代码查询GPU的状态如温度、内存使用情况、计算利用率等等。 psutil库提供了丰富的接口来获取系统和进程的信息包括CPU、内存、磁盘、网络等信息。 在pycharm中打开终端输入以下指令来安装其上两个库 pip install psutil pip install nvidia-ml-py3 window系统中pycharm打开终端的方法 一、view–Tool Windows–Terminal 二、altF12 三、pycharm的左边竖着的工具栏中有终端图标点击即可。 图一 输入完安装指令后如果出现以下提示可以采用指令进行解决 [notice] A new release of pip is available: 23.2.1 - 24.0 [notice] To update, run: python.exe -m pip install –upgrade pip 指令 python.exe -m pip install –upgrade pip 程序准备 主体程序 import time import psutil import pynvmldef get_cpu_info(): cpu_percent psutil.cpu_percent(interval1) memory_info psutil.virtual_memory() memory_used memory_info.percent return cpu_percent, memory_useddef get_gpu_info(pynmlNone):try:pynvml.nvmlInit()device_count pynvml.nvmlDeviceGetCount()gpu_data []for i in range(decice_count):handle pynvml.nvmlDeviceGetHandleByIndex(i)name pynvml.nvmlDeviceGetName(handle)util pynml.nvmlDeviceGetUtilizationRates(handle)gpu_util util.gputemp pynvml.nvmlDeviceGetTemperature(handle, pynvml.NVML_TEMPERATURE_GPU)mem_info pynvml.nvmlDeviceGetMemoryInfo(handle)total_memory mem_info.total / (1024 ** 2)used_memory mem_info.used / (1024 ** 2)gpu_data.append({name: name,util: gpu_util,temp: temp,total_memory: total_memory,used_memory: used_memory})pynvml.nvmlShutdown()return gpu_dataexcept pynvml.NVMLError as e:print(Error while fetching GPU data: , e)return []def main():while True:cpu_percent, memory_used get_cpu_info()print(fCPU Usage: {cpu_percent}%)print(fMemory Usage: {memory_used}%)gpu_data get_gpu_info()if gpu_data:for gpu in gpu_data:print(fGPU {gpu[name]}:)print(f Utilization: {gpu[util]}%, Temperature: {gpu[temp]}°C)print(f Memory: {gpu[used_memory]} MB / {gpu[total_memory]} MB)print()print(- * 40)time.sleep(5)if name main:main() 解释 添加了必要的库其中的time让其能够更好的控制程序的更新频率不至于太快给电脑太大的压力。 定义了三个函数第一个是获取CPU的信息第二个是获取GPU的信息第三个是主函数。 在第一个函数中我获取了CPU的使用率和内存的使用率interval1表示1秒的采样间隔让我每隔一秒获取CPU的使用率。 在第二个函数中因为获取GPU的相关信息比CPU要复杂一点所以其函数也相应的复杂。先是初始化NVIDIA管理库以便获取GPU信息然后获取系统中的GPU的数量其后初始化一个空列表以便储存GPU的相关信息。for是循环遍历每一个GPU获取GPU的句柄这是访问GPU的唯一标识然后获取名称、使用率、温度、内存信息我获取了GPU的总内存和已使用的内存最终使用了gpu_data.append({})是以字典的形式来储存获取的GPU相关信息。 主函数因为需要监控所以利用while来循环。因为我们获取信息的动作已经完成直接在其函数中书写打印显示我们想要的信息即可。 为了保证程序能够使用进行了测试结果对于GPU的采集发生了错误 图二 这里的错误是指没有找到NVML的共享文件。 解决方法 将nvml.dll文件添加到环境变量中。 先找到nvml.dll文件。 winR打开命令提示符输入cmd最后输入 where nvidia-smi找到了nvidia-smi.exenvml.dll文件与其在同一路径之下。 手动添加 进入设置中的关于–点击高级系统设置–在高级界面中点击环境变量–找到系统变量区域下的path并选中点击编辑–在新的界面中点击新建–添加路径确认重启电脑即可。 如果还未解决怎采取以下方式 下载CUDA Toolkit 要下载与自己的显卡驱动程序版本和系统架构相适应的CUDA Toolkit。 查看系统信息在任务栏中的搜索框中输入msinfo32查看显卡的信息可在NVIDIA控制面板中点击帮助点击系统信息即可查看。 我的系统可以支持12.6版本的以下是下载地址 https://developer.nvidia.com/cuda-downloads?target_osWindowstarget_archx86_64target_version10target_typeexe_local 下面的地址是查看自己的系统可以支持的版本 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions__table-cuda-toolkit-driver-versions 安装完成之后找到nvml.dll文件更新环境变量。 由于我电脑比较差没有多余空间安装CUDA请各位大佬自行决定是否利用此方法观察是否有效谢谢 因此我更换了库pynvml库需要电脑中存在CUDA Toolkit才能运作于是我更换了一个更加简单的库GUPtil。 更改后的程序 import tkinter as tk # 导入tkinter库用于创建GUI import psutil # 导入psutil库用于获取系统信息 import GPUtil # 导入GPUtil库用于获取GPU信息 import subprocess # 导入subprocess库用于执行系统命令# 定义.NET程序路径 NET_PROGRAM_PATH D:\CPU\setup.exedef get_cpu_usage():# 使用psutil获取CPU的使用率参数2表示计算使用率的时间间隔这里为2秒return psutil.cpu_percent(interval2)def get_cpu_name():# 尝试通过PowerShell命令获取CPU名称try:# 执行PowerShell命令并获取输出cpu_info subprocess.check_output(powershell -command \Get-CimInstance Win32_Processor | Select-Object -ExpandProperty Name\,shellTrue).decode().strip() # 将输出解码为字符串并去除空格return cpu_info if cpu_info else 未知CPUexcept Exception as e:# 处理异常情况打印错误信息并返回未知CPUprint(f获取CPU名称时出错: {e})return 未知CPUdef get_cpu_memory_usage():# 使用psutil获取CPU的内存使用情况memory psutil.virtual_memory()return {used_memory: f{memory.used / (1024 ** 2):.1f} MB, # 已用内存转换为MBtotal_memory: f{memory.total / (1024 ** 2):.1f} MB # 总内存转换为MB}def get_gpu_info():# 获取所有GPU的详细信息gpus GPUtil.getGPUs()gpu_info [] # 用于存储处理后的GPU信息for gpu in gpus:# 将GPU信息添加到字典中gpu_info.append({id: gpu.id,name: gpu.name,load: f{gpu.load * 100:.1f}%, # 载荷百分比temp: f{gpu.temperature} °C, # 温度used_memory: f{gpu.memoryUsed} MB, # 已用内存total_memory: f{gpu.memoryTotal} MB # 总内存})return gpu_info # 返回处理后的GPU信息列表def update_info():# 获取CPU使用率、名称和内存使用情况cpu_usage get_cpu_usage()cpu_name get_cpu_name()cpu_memory get_cpu_memory_usage()# 获取GPU信息gpu_data get_gpu_info()# 初始化信息文本info_text fCPU名称: {cpu_name}\ninfo_text fCPU使用率: {cpu_usage}%\ninfo_text fCPU内存使用: {cpu_memory[used_memory]} / {cpu_memory[total_memory]}\n# 构造GPU信息的显示文本for gpu in gpu_data:info_text (fGPU {gpu[id]} ({gpu[name]}):\nf 使用率: {gpu[load]}\nf 温度: {gpu[temp]}\nf 内存使用: {gpu[used_memory]} / {gpu[total_memory]}\n)# 更新GUI中的文本label.config(textinfo_text)# 设置定时器每3秒更新一次信息root.after(3000, update_info)# 启动 .NET 程序而不显示命令行窗口 subprocess.Popen(NET_PROGRAM_PATH, shellFalse, creationflagssubprocess.CREATE_NO_WINDOW)# 创建主窗口 root tk.Tk() root.title(CPU和GPU信息) # 设置窗口标题# 创建标签组件用于显示信息 label tk.Label(root, text, justifytk.LEFT) label.pack(padx20, pady20) # 设置填充# 调用update_info进行首次信息更新 update_info()# 进入消息循环 root.mainloop() 下载地址 https://openhardwaremonitor.org/downloads/ 编写.NET程序 可以利用VS2019来编写程序。 using System; // 引入系统命名空间用于基本类型和控制台操作 using OpenHardwareMonitor.Hardware; // 引入硬件监控库命名空间class Program {static void Main(string[] args) // 主函数程序入口点{Computer computer new Computer { CPUEnabled true }; // 创建Computer对象启用CPU监测computer.Open(); // 开启硬件监控try{while (true) // 无限循环直到收到退出信号{foreach (var hardware in computer.Hardware) // 遍历所有硬件{hardware.Update(); // 更新硬件信息Console.WriteLine(\(检测到 {hardware.HardwareType}: {hardware.Name}); // 打印硬件类型和名称foreach (var sensor in hardware.Sensors) // 遍历硬件上的传感器{if (sensor.SensorType SensorType.Temperature) // 检查传感器类型是否为温度{if (sensor.Value.HasValue) // 检查温度值是否存在{Console.WriteLine(\)传感器名称: {sensor.Name}, 温度值: {sensor.Value.Value}°C); // 打印传感器名称和温度值}else // 如果温度值不存在{Console.WriteLine(\(传感器名称: {sensor.Name}, 温度值: 无法获取); // 打印传感器名称和提示信息}}}}Thread.Sleep(3000); // 每3秒执行一次}}catch (Exception ex) // 捕获并处理异常{Console.WriteLine(\)出现错误: {ex.Message}); // 打印错误信息}finally{computer.Close(); // 关闭硬件监控}//Console.WriteLine(程序完成。按任意键退出。); // 提示用户程序完成//Console.ReadKey(); // 等待用户按键} } 代码运行的结果 图三 完成代码编写之后然后发布程序。 图四 发布的程序只需要注意发布到哪个文件夹就行了其他可以默认。在主体程序中一定要注意你的.NET程序发布的名称并且一定要注意用管理员身份才能获取温度信息因此打开主体程序一定要用管理员身份运行。还有一点就是需要将OpenHardwareMonitor软件的文件与发布的程序放到同一个文件夹下面。 注意使用了GUI界面但是不要关闭命令提示符的界面不然就关闭了代码运行应当等待GUI界面出现后才可以关闭。 呈现结果 图五
- 上一篇: vs2010做网站前台网站关键词排名优化价格
- 下一篇: vs2013做登录网站网站开发ppt方案模板
相关文章
-
vs2010做网站前台网站关键词排名优化价格
vs2010做网站前台网站关键词排名优化价格
- 站长
- 2026年02月18日
-
vs2010做的网站有人拉我做彩票网站
vs2010做的网站有人拉我做彩票网站
- 站长
- 2026年02月18日
-
vs2010网站开发与发布html底部友情链接代码
vs2010网站开发与发布html底部友情链接代码
- 站长
- 2026年02月18日
-
vs2013做登录网站网站开发ppt方案模板
vs2013做登录网站网站开发ppt方案模板
- 站长
- 2026年02月18日
-
vs2013做网站教程wordpress简体中文版本
vs2013做网站教程wordpress简体中文版本
- 站长
- 2026年02月18日
-
vs2015 asp网站开发网站怎样做友情链接
vs2015 asp网站开发网站怎样做友情链接
- 站长
- 2026年02月18日
