首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >定时监控APP运行情况的脚本

定时监控APP运行情况的脚本

作者头像
科控物联
发布2026-05-06 12:37:30
发布2026-05-06 12:37:30
420
举报

Modbus网关 综合测试报告汇总

上次有读者问网关运行后,怎么测试?其实有很多方式,介绍一种最简单使用的方式。

可以创建一个定时脚本自动获取并记录两个实例的运行数据。

1. 创建监控脚本

文件 : Monitor_ModbusGateway.ps1

代码语言:javascript
复制
# ModbusGateway 监控脚本
# 每5分钟记录一次运行状态
$logFile = "modbusgateway_monitor.log"
$header = "Time,PID,Memory(MB),CPU,Handles"
# 写入表头
if (!(Test-Path $logFile)) {
    $header | Out-File -FilePath $logFile -Encoding UTF8
}
# 监控循环
while ($true) {
    $time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $processes = Get-Process | Where-Object {$_.ProcessName -eq "modbusgateway"}
    
    foreach ($proc in $processes) {
        $memory = [math]::Round($proc.WS/1MB, 2)
        $cpu = $proc.CPU
        $handles = $proc.Handles
        "$time,$($proc.Id),$memory,$cpu,$handles" | Out-File -FilePath $logFile 
        -Encoding UTF8 -Append
    }
    
    # 每5分钟执行一次
    Start-Sleep -Seconds 300
}

2. 启动监控

代码语言:javascript
复制
# 启动监控脚本
powershell -File "Monitor_ModbusGateway.ps1"

3. 查看监控数据

查看最新监控数据

代码语言:javascript
复制
Get-Content "modbusgateway_monitor.log" | Select-Object -Last 20

当然可以直接打开记事本查看😄

代码语言:javascript
复制
# 按PID分组查看
Import-Csv "modbusgateway_monitor.log" | Group-Object PID | ForEach-Object {
    $_.Group | Select-Object -Last 5
}

4. 实时监控命令

实时查看进程状态 :

实时监控(每10秒)

代码语言:javascript
复制
while ($true) {
    Clear-Host
    Get-Process | Where-Object {$_.ProcessName -eq "modbusgateway"} | 
    Select-Object Name, Id, @{Name="Memory(MB)";Expression={[math]::Round($_.WS/
    1MB,2)}}, CPU, Handles
    Start-Sleep -Seconds 10
}

当前运行状态

两个实例运行正常,资源使用合理。17888实例已运行5.5小时以上,内存稳定在46.91MB,表现优秀。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建监控脚本
  • 2. 启动监控
  • 3. 查看监控数据
  • 查看最新监控数据
  • 4. 实时监控命令
  • 实时监控(每10秒)
  • 当前运行状态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档