用python一个测试nvme ssd的python脚本,测试步骤如下: 1、待测的固态硬盘作为一个参数,在执行脚本时,自定义输入 1、读取待测的固态硬盘的smartinfo中温度值和功耗,间隔10秒读一次 2、将获取的温度值按盘和时间点记录log文件中,log文件名用当前时间和待测盘来命名的
时间: 2024-02-09 19:10:10 浏览: 292
好的,以下是可以实现该功能的 Python 脚本代码:
```python
import subprocess
import datetime
import time
import os
# 待测固态硬盘路径,需要自定义输入
drive_path = input("请输入待测固态硬盘路径:")
# 获取当前时间和待测盘的信息,作为日志文件名
drive_info = subprocess.check_output(["nvme", "id-ctrl", drive_path]).decode("utf-8")
drive_serial = drive_info.split("\n")[2].split(":")[1].strip()
current_time = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
log_file_name = "{}_{}.log".format(current_time, drive_serial)
# 读取待测盘的温度和功耗,每间隔 10 秒记录一次
while True:
smart_info = subprocess.check_output(["nvme", "smart-log", drive_path]).decode("utf-8")
temp = [line for line in smart_info.split("\n") if "temperature" in line][0].split()[3]
power = [line for line in smart_info.split("\n") if "power cycles" in line][0].split()[3]
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(log_file_name, "a") as f:
f.write("{} {} {} {}\n".format(current_time, temp, power, drive_serial))
time.sleep(10)
```
使用方法:
1. 将上述代码保存为 `.py` 文件,比如 `ssd_test.py`。
2. 打开命令行窗口,进入到保存脚本的目录。
3. 执行 `python ssd_test.py` 命令,根据提示输入待测固态硬盘的路径(比如 `/dev/nvme0n1`),按回车键确认。
4. 脚本会自动读取该硬盘的温度和功耗,并每 10 秒记录一次,保存到以当前时间和待测盘序列号命名的日志文件中。
注意事项:
1. 本脚本仅在 Linux 系统中测试过,Windows 系统可能需要更改部分命令。
2. 在运行脚本时需要有管理员权限。
3. 为避免对数据的误操作,请谨慎使用该脚本。
阅读全文