You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python分析CPU利用率时序数据并预测低利用率时段

根据CPU利用率查找/预测对应时段及服务器

一、在现有数据集中筛选目标时段

如果只是从已有的数据里找出CPU利用率符合阈值的记录,直接做数据过滤即可。以Python pandas为例:

import pandas as pd

# 加载数据集
data = pd.DataFrame({
    'Timestamp': ['2022-01-11 00:05:00', '2022-01-11 00:10:00', '2022-01-11 00:15:00', '2022-01-11 00:20:00'],
    'Cpu_utilization_Percentage': [80, 30, 5, 3],
    'Server_name': ['abc', 'xyz', 'def', 'yue']
})

# 转换时间列为时间类型
data['Timestamp'] = pd.to_datetime(data['Timestamp'])

# 筛选CPU利用率低于5%的记录(若要包含等于5%的情况,将<改为<=即可)
idle_records = data[data['Cpu_utilization_Percentage'] < 5]

print(idle_records)

运行后输出结果:

Timestamp  Cpu_utilization_Percentage Server_name
3 2022-01-11 00:20:00                           3         yue

二、预测未知时段的空闲时间(反向建模)

如果需要预测未来哪些时段CPU会进入空闲状态,需要反向构建模型,把时间、服务器信息作为特征,判断对应时段是否满足空闲阈值:

1. 数据预处理

  • 拆分时间特征:从Timestamp中提取小时、分钟、工作日/周末等信息,帮助模型捕捉时间规律;
  • 服务器编码:对Server_name做标签编码或独热编码,让模型识别不同服务器的负载差异。

2. 模型实现示例(分类判断)

以随机森林分类器为例,判断某个时间+服务器组合是否为空闲时段:

from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import LabelEncoder
import numpy as np

# 提取时间特征
data['hour'] = data['Timestamp'].dt.hour
data['minute'] = data['Timestamp'].dt.minute

# 对服务器名称做编码
le = LabelEncoder()
data['Server_encoded'] = le.fit_transform(data['Server_name'])

# 定义目标变量:1=空闲(CPU<5%),0=非空闲
data['is_idle'] = np.where(data['Cpu_utilization_Percentage'] < 5, 1, 0)

# 准备特征与目标值
X = data[['hour', 'minute', 'Server_encoded']]
y = data['is_idle']

# 训练模型(注意:实际需要更多历史数据才能保证预测准确性)
model = RandomForestClassifier()
model.fit(X, y)

# 示例:预测服务器yue(编码后为3)在00:25的状态
test_data = pd.DataFrame({
    'hour': [0],
    'minute': [25],
    'Server_encoded': [3]
})
pred_result = model.predict(test_data)
print("该时段是否空闲:", "是" if pred_result[0]==1 else "否")

3. 关键提醒

  • 单服务器单独建模会更精准,不同服务器的CPU负载规律差异通常很大;
  • 必须保证时序数据的连续性(比如固定5分钟采样一次),模型才能学习到稳定的规律;
  • 空闲阈值可根据业务场景调整,比如部分场景会把低于10%定义为空闲。

内容的提问来源于stack exchange,提问作者Niranjanp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 13:21:27