linux下利用python和定时器库,获取cpu的温度,定时间隔2秒,采集1000个数据
时间: 2024-05-02 07:19:29 浏览: 10
可以使用psutil库和time库来获取CPU温度和定时器。下面是一个示例代码:
```
import psutil
import time
def get_cpu_temp():
temp = psutil.sensors_temperatures()['coretemp'][0].current
return temp
for i in range(1000):
temp = get_cpu_temp()
print(f"第{i+1}次采集的CPU温度为 {temp} 摄氏度")
time.sleep(2)
```
这段代码会每2秒采集一次CPU温度,共采集1000次数据,并打印出每次采集的温度值。
相关问题
利用Python和定时器等库,自动定时获取CPU的负载、温度、内存占用等信息,定时间隔2秒,采集1000个样本数据
以下是使用Python编写的示例代码,可以自动定时获取CPU的负载、温度、内存占用等信息,定时间隔2秒,采集1000个样本数据:
```python
import psutil
import time
interval = 2 # 采样时间间隔
n_samples = 1000 # 采样次数
for i in range(n_samples):
cpu_percent = psutil.cpu_percent() # 获取CPU负载百分比
cpu_temp = psutil.sensors_temperatures().get('coretemp')[0].current # 获取CPU温度
mem_percent = psutil.virtual_memory().percent # 获取内存占用百分比
print(f"第{i+1}次采样:CPU负载={cpu_percent}%,CPU温度={cpu_temp}℃,内存占用={mem_percent}%")
time.sleep(interval)
```
在上述代码中,我们使用了`psutil`库来获取CPU负载、温度和内存占用等信息。其中,`psutil.cpu_percent()`函数可以获取CPU负载百分比,`psutil.sensors_temperatures()`函数可以获取CPU温度,`psutil.virtual_memory()`函数可以获取内存占用信息。
我们将采样时间间隔设为2秒,采样次数设为1000次,通过循环获取CPU负载、温度和内存占用等信息,并将其打印出来。在每次循环结束后,程序会暂停2秒钟,以便下一次采样。
如果需要将采样数据保存下来,可以将每次采样的结果存入一个列表中,最后将结果写入文件或数据库中。例如:
```python
import psutil
import time
import csv
interval = 2 # 采样时间间隔
n_samples = 1000 # 采样次数
data = [] # 存储采样数据的列表
for i in range(n_samples):
cpu_percent = psutil.cpu_percent() # 获取CPU负载百分比
cpu_temp = psutil.sensors_temperatures().get('coretemp')[0].current # 获取CPU温度
mem_percent = psutil.virtual_memory().percent # 获取内存占用百分比
data.append([i+1, cpu_percent, cpu_temp, mem_percent]) # 将采样数据存入列表
print(f"第{i+1}次采样:CPU负载={cpu_percent}%,CPU温度={cpu_temp}℃,内存占用={mem_percent}%")
time.sleep(interval)
# 将采样数据写入CSV文件
with open('cpu_data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['序号', 'CPU负载(%)', 'CPU温度(℃)', '内存占用(%)'])
writer.writerows(data)
```
在上述代码中,我们定义了一个`data`列表,用于存储采样数据。在每次采样结束后,将采样数据存入`data`列表中。最后,将`data`列表中的数据写入CSV文件中,以便后续处理和分析。
Windows利用Python和定时器等库,自动定时获取Windows系统中CPU的负载、温度、内存占用等信息,定时间隔2秒,采集1000个样本数据
以下是一个示例代码,可以实现你所需的功能:
```python
import psutil
import time
sample_num = 1000
interval = 2
cpu_load = []
cpu_temp = []
mem_usage = []
for i in range(sample_num):
cpu_load.append(psutil.cpu_percent(interval=interval))
cpu_temp.append(psutil.sensors_temperatures()['coretemp'][0].current)
mem_usage.append(psutil.virtual_memory().percent)
time.sleep(interval)
print("CPU负载:", cpu_load)
print("CPU温度:", cpu_temp)
print("内存占用:", mem_usage)
```
这个程序使用了 `psutil` 库来获取系统的 CPU 负载、温度和内存占用等信息。在循环中,它每隔 `interval` 秒钟采集一次数据,共采集 `sample_num` 次。最后,它输出了采集到的数据。
需要注意的是,这个程序只能在 Windows 系统下运行,并且需要管理员权限才能获取 CPU 温度信息。如果你没有管理员权限,那么 `psutil.sensors_temperatures()` 函数返回的结果将是空的。