【问题标题】:batch or powershell method with timestamp log for a program? [closed]带有程序时间戳日志的批处理或powershell方法? [关闭]
【发布时间】:2022-01-02 07:09:07
【问题描述】:

我是一名矿工,我从 gpu 开采。有时会出现停止挖掘的 CUDA 错误,我正在寻找一个批处理脚本来监控所有 gpu 的温度,如果温度以某种方式连续 2 分钟低于 50,则在文本文件中创建带有时间戳的日志并重新启动程序.

我尝试过以前没有用的 powershell 脚本。如果大家有其他选择,请提出建议。 这是我尝试过的代码,但它基于内存,这不是我想要监控温度的。

while ($true) {
   Get-Process calc -ea 0 | where { $_.PM -le 10MB } | foreach {
        $Path = $_.Path
        [bool]$Ping = Test-Connection 8.8.8.8 -Quiet
        if ($Path -and $Ping) {
            Stop-Process $_ -Force
            Start-Process $Path
        }
    }
    sleep -s 1
}

【问题讨论】:

  • Batch 无法检索 GPU 的温度。你必须找到一些程序来为你做这件事。
  • powershell 听起来像是这样做的方式。你试过什么了?要求某人提供脚本或在线查找它们不是我们在这里所做的。
  • @JamesZ 我发布了我尝试过的内容。谢谢顺便说一句。如果你有任何替代解决方案而不是监控请分享
  • 如果你有任何替代解决方案而不是监控请分享@SomethingDark
  • 您显然需要一个命令、程序或脚本来检查温度。如果你做不到,其他任何事情都是没有意义的——所以你需要从那里开始,而不是让别人分享脚本。

标签: powershell batch-file cmd mining


【解决方案1】:

您可以从Link 中查看PSHardwareMonitor powershell 模块

此 Powershell 模块从 CPU 和 GPU 温度中捕获最小/最大/当前值。此模块基于 OpenHardwaremonitoring 项目,不会使用默认的 Windows CIM 类。因此,支持所有 CPU 和 GPU。欲了解更多信息,请参阅https://openhardwaremonitor.org/

您也可以查看来自link@saftargholi 的回复

【讨论】:

  • 我在 openhardwaremonitor 中看不到任何命令,我需要基于命令的图形先生。 @MahmoudMoawad
  • 对不起,现在我检查了。我在使用此 $HARDWAREMONITOR.EnableGPU = $true|$false {default: $False} 错误:表达式或语句中出现意外标记“{”时遇到问题
  • 这是一个语法错误。
猜你喜欢
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多