System shutdown exception

image
开机后出现这个信息提示,是因为温度过高导致一些硬件工作异常了吗?

你如果有問題可以在devkit上可以複製到, 就麻煩你給出複製的方法跟log
還有你現在給這個log跟你講的東西也完全沒有關聯. hot-surface-alert 的溫度才45C…

想證明自己的issue跟溫度有關的話就跑tegrastats看整體溫度到底幾度…

1、复现方法就是我的测试方法,测试方法在开头已经给出
软件环境:JetPack5.1.3
硬件:NV Devkit
GPU压测方法使用如下:
git clone GitHub - wilicc/gpu-burn: Multi-GPU CUDA stress test

并将这个压测方法加到开机自启脚本/etc/rc.local中。
使用shutdown命令关机
sudo shutdown -h now

2、执行shutdown命令后串口无任何日志打印,那我把开机log发出来.
log.txt (78.3 KB)

3、请问你是怎么知道的才45度?

sudo tegrastats␍␍␊
[19:56:07:775] [sudo] password for mogo: ␍␍␊
[19:56:10:580] 01-01-1970 08:02:31 RAM 26318/30572MB (lfb 759x4MB) SWAP 0/15286MB (cached 0MB) CPU [0%@729,0%@729,0%@729,0%@729,100%@2201,0%@2201,0%@2201,0%@2201,0%@729,0%@729,0%@729,2%@729] EMC_FREQ 18%@3199 GR3D_FREQ 99%@[1297,1297] VIC_FREQ 729 APE 174 CV0@-256C CPU@71.812C Tboard@57C SOC2@67.906C Tdiode@61.5C SOC0@67.562C CV1@-256C GPU@72.875C tj@72.875C SOC1@66.187C CV2@-256C VDD_GPU_SOC 41400mW/41400mW VDD_CPU_CV 2388mW/2388mW VIN_SYS_5V0 7648mW/7648mW VDDQ_VDD2_1V8AO 2512mW/2512mW␍␍␊
[19:56:11:607] 01-01-1970 08:02:32 RAM 26318/30572MB (lfb 759x4MB) SWAP 0/15286MB (cached 0MB) CPU [0%@729,1%@729,0%@729,0%@729,100%@2201,0%@2201,0%@2201,0%@2201,0%@729,0%@729,0%@729,1%@729] EMC_FREQ 17%@3199 GR3D_FREQ 99%@[1297,1297] VIC_FREQ 729 APE 174 CV0@-256C CPU@71.843C Tboard@57C SOC2@67.781C Tdiode@61.75C SOC0@67.593C CV1@-256C GPU@72.718C tj@72.718C SOC1@66.375C CV2@-256C VDD_GPU_SOC 41400mW/41400mW VDD_CPU_CV 2388mW/2388mW VIN_SYS_5V0 7648mW/7648mW VDDQ_VDD2_1V8AO 2512mW/2512mW␍␍␊
[19:56:12:634] 01-01-1970 08:02:33 RAM 26318/30572MB (lfb 759x4MB) SWAP 0/15286MB (cached 0MB) CPU [1%@729,0%@729,0%@729,0%@729,100%@2201,0%@2201,0%@2201,0%@2201,1%@729,0%@729,0%@729,5%@729] EMC_FREQ 18%@3199 GR3D_FREQ 99%@[1297,1297] VIC_FREQ 729 APE 174 CV0@-256C CPU@71.906C Tboard@57C SOC2@67.843C Tdiode@61.75C SOC0@67.593C CV1@-256C GPU@72.843C tj@72.843C SOC1@66.25C CV2@-256C VDD_GPU_SOC 41400mW/41400mW VDD_CPU_CV 2388mW/2388mW VIN_SYS_5V0 7648mW/7648mW VDDQ_VDD2_1V8AO 2512mW/2512mW␍␍
  1. 45C是 device tree的設定, hot-surface-alert跳出來的話就是代表剛超過這個溫度

  2. 請問一下你在那邊是如何判斷devkit沒有關電的? 是透過量信號嗎 還是用什麼東西作為依據?

  3. 請問這個壓測跟問題你跑了多久跟幾次才碰上? 我從log看上來你重開的間隔才3分鐘

一、关于Devkit没有关电的依据
1、正常情况下系统执行shutdown -h now命令后串口会有输出,显然这次没有所以判断没有正常掉电。
正常执行关机命令后串口输出如下

[19:05:41:695] [15404.439278] CPU1: shutdown␍␊
[19:05:41:716] [15404.467202] CPU2: shutdown␍␊
[19:05:41:737] [15404.487005] CPU3: shutdown␍␊
[19:05:41:780] [15404.530905] CPU4: shutdown␍␊
[19:05:41:836] [15404.586865] CPU5: shutdown␍␊
[19:05:41:892] [15404.642883] CPU6: shutdown␍␊
[19:05:41:921] [15404.671726] IRQ 148: no longer affine to CPU7␍␊
[19:05:41:946] [15404.676670] CPU7: shutdown␍␊
[19:05:41:988] [15404.739249] CPU8: shutdown␍␊
[19:05:42:024] [15404.774778] CPU9: shutdown␍␊
[19:05:42:076] [15404.826731] CPU10: shutdown␍␊
[19:05:42:117] [15404.867328] IRQ 149: no longer affine to CPU11␍␊
[19:05:42:122] [15404.872309] CPU11: shutdown␍␊
[19:05:42:157] [15404.876177] reboot: Power down␍␊
[19:05:42:157] <0xff><0xe4><0xff><0xe2>Shutdown state requested 0␍␊
[19:05:42:157] Shutting down system ...␍␊
[19:05:42:157] <break>

请注意上述是正常情况下,然而异常情况就是在GPU高的情况下执行shutdown命令后无任何输出。
2、除上述1之外,通过观察Devkit上RST按键旁边的LED指示灯判断是否关电,执行shutdown后该LED指示灯并没有灭,正常shutdown后是会灭的。
二、这个压测是必现的,只要是有高GPU的情况就会出现异常,和重开的间隔时间没有关系,请注意我在上面的回复中已说明,将该压测方法加入到了开机自启里面,所以每次开机都会有高GPU的现象。

Hi,

二、这个压测是必现的,只要是有高GPU的情况就会出现异常,和重开的间隔时间没有关系,请注意我在上面的回复中已说明,将该压测方法加入到了开机自启里面,所以每次开机都会有高GPU的现象。

我的意思是你有沒有個大概要花多久時間或是幾次可以複製到這個問題?
因為我們有很多用戶的問題需要複製, 需要有這資料才比較好安排

必现的意思是,只要GPU压测就会出现,次数你可以理解为1,时间指的是什么?开机后执行shutdown的时间?我理解的是开机后只要是GPU压测执行就会shutdown异常。
总之,没有花很久的时间,部署好GPU压测脚本或将其加入到开机自启里面,就会有这个异常现象。
不知道我对这个“必现”的解释,可以理解吗?

比方說你的壓測從開機之後馬上開始跑 那需要跑多久執行shutdown會打到這個問題? 跑30秒馬上shutdown會嗎? 還是得需要跑5分鐘再執行shudown?

聽你的說法聽起來好像每一次做gpu stress都一定會打到這個問題, 我是想確認我這個理解有沒有對.
比方說重新開機100次, 每次都跑GPU stress. 你的說法聽起來像是我這100次都一定會碰到這個error.

我的時間跟次數是指這個

1、是的,每做一次gpu stress都一定会打到这个问题。
2、至于压测之后多久执行shutdown的问题,我是至少等待1min之后执行shutdown,立马shutdown也会有问题,所以我觉得这个时间不影响结果

1 Like

Hi,

我們剛才使用rel-35.5跟rel-36 做了測試

GPU stress邊跑邊進行shutdown. 連續跑了10次 10次都能正常shutdown.
沒有辦法複製到這個問題

hi,
sorry,这个问题我又多次试验了一下,和加入到开机自启动中有关,加入到开机启动中会出现shutdown异常,不加入则正常。
您可以再看一下吗,谢谢了

开机启动的方法实现如下

cp rc.local  /etc/rc.local
cp rc-local.service  /lib/systemd/system/rc-local.service

其中rc.local文件内容如下

#!/bin/bash

cd /home/mogo/gpuBurn && ./gpu_burn 172800 &
exit 0

rc-local.service文件内容如下

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
#After=network.target
After=docker.service

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install] 
WantedBy=multi-user.target

请教一个问题,这个服务是开机启动,会影响关机吗?

可以請你用systemctl status 確認一下這個systemd service在開機之後的狀態是如何嗎?
還有ps aux |grep gpu_burn 檢查一下有多少script在跑

hi,如下所示,谢谢
image

最后,查看gpu占用也是满载状态的

请问一下,您使用这个方法复现到这个现象了吗?