添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

请给出一个能在Linux服务器上获取cpu使用率,温度,内存使用情况,硬盘使用情况的python脚本,并给出详细代码

下面是一个能在Linux服务器上获取cpu使用率,温度,内存使用情况,硬盘使用情况的Python脚本:

import psutil
# 获取CPU使用率
cpu_percent = psutil.cpu_percent()
# 获取CPU温度(仅限于支持的系统和硬件)
temperature = psutil.sensors_temperatures().get('coretemp')[0].current if 'coretemp' in psutil.sensors_temperatures() else None
# 获取内存使用情况
mem_info = psutil.virtual_memory()
mem_total = mem_info.total // (1024*1024)
mem_used = mem_info.used // (1024*1024)
# 获取硬盘使用情况
disk_usage = {}
for disk in psutil.disk_partitions():
    disk_name = disk.device.split('/')[-1]
    usage_info = psutil.disk_usage(disk.mountpoint)
    total_size = usage_info.total // (1024*1024)
    used_size = usage_info.used // (1024*1024)
    disk_usage[disk_name] = {'total': total_size, 'used': used_size}
print('CPU 使用率:{}%'.format(cpu_percent))
if temperature:
    print('CPU 温度:{}℃'.format(temperature))
print('内存总量:{}MB,已使用:{}MB'.format(mem_total, mem_used))
for disk_name, info in disk_usage.items():
    print('{} 硬盘总大小:{}MB,已用大小:{}MB'.format(disk_name, info['total'], info['used']))

首先我们导入了psutil库,它提供了一些跨平台的系统信息获取方法。然后我们使用psutil.cpu_percent()获取CPU使用率,注意这里的使用率是指所有逻辑核心的平均使用率。

接下来我们使用psutil.sensors_temperatures()获取温度信息,如果系统支持并且有温度传感器,则可以获取到CPU温度。需要注意的是,不同系统和硬件的温度传感器名称可能不同,所以我们先检查是否存在’coretemp’传感器,并取第一个返回值(一般只会有一个)。

然后我们使用psutil.virtual_memory()获取内存使用情况,total字段表示总量,used字段表示已用量。由于单位是字节,因此这里我们除以1024*1024转换为MB。

最后我们遍历所有硬盘分区(包括挂载点),并使用psutil.disk_usage()获取每个分区的磁盘使用情况,total字段表示总大小,used字段表示已用大小。同样需要除以1024*1024转换为MB。

输出时根据格式进行输出即可。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://linuxcpp.0voice.com/?id=61468

It is proposed to write an ARM Cortex-M4 Assembly program for a parity generator that determines the parity of the number of ’1’s in a 4-bit binary word A = (a3 a2 a1 a0). The parity key P is equal to ‘0’ if the number of ’1’ in the word A is even...

Certainly!Here'stheassemblycodetocalculatetheparitykeyPandstoreitinmemory:AREAParity,CODE,READONLY...

  • libtiff 解压缩float数据

  • QWidget::update()

  • It is proposed to write an ARM Cortex-M4 Assembly program for a parity generator that determines the parity of the number of ’1’s in a 4-bit binary word A = (a3 a2 a1 a0). The parity key P is equal to ‘0’ if the number of ’1’ in the word A is even...

  • xunit如果,调用的方法里的参数是对象,该如何使用Inlinedata传参

  • Directions: You are going to write a short essay in response to the prompt given below. A paragraph with a topic supported by details: Topic: My Future Job 身处象牙塔,青年学子并非无忧无虑。比如,一边困惑于哪些课程用处更大,一边需要尽力提升绩点;又比如,评优过程或许有不尽如人意之处,但自己还是希望得到满意的结果;此外,通过临时抱佛脚拿到期末高分后,却依然难掩内心的落寞。用英文怎么说 因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的 SMB1 协议,而此协议是不安全的,可能会使你的系统遭受攻击。你的系统需要 SMB2 或更高版本。有关如何解决此问题的信息,请参见 win11 怎么解决 RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.这个报错是什么原因 Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [67 lines of output] The Meson build system Version: 0.62.2 C/C++ 常见1000道面试题( 118 )

    It is proposed to write an ARM Cortex-M4 Assembly program for a parity generator that determines the parity of the number of ’1’s in a 4-bit binary word A = (a3 a2 a1 a0). The parity key P is equal to ‘0’ if the number of ’1’ in the word A is even...

    2024年01月18日