时间:2021-05-22
由于监控及报告需要,要统计性能计数器每天数值情况,确认数据库服务器的运行状况。若打开计数器填写,比较麻烦,现在统计用 powershell 来读取计数器的值。
第一阶段:Powershell 读取计数器文件并统计其中一个计数器的值
$startDate = (Get-Date).AddDays(-1).Date $endDate = (Get-Date).Date $perfPath = "D:\DataFiles\PERFMON\MSSQL_PERFMON_08240904.blg" #读取文件中的计数器名称 $counterList = Import-Counter -Path $perfPath $countersNameList = $counterList[0].countersamples | % {$_.path} #筛选指定计数器和时间重新导入PS $counter = $countersNameList -like '*Processor Time*' $counterData = Import-Counter -Path $perfPath -Counter $counter | Where-Object -FilterScript {($_.Timestamp -ge $startDate) -and ($_.Timestamp -lt $endDate)} #计算日期范围内的数值统计 $counterInfo = $counterData | Foreach-Object {$_.CounterSamples} | Measure-Object -property CookedValue -Average -Maximum #哈希表存储结果数据 $resultTable=@{} $resultTable."CPU 利用率——平均" = $counterInfo.Average $resultTable."CPU 利用率——最大" = $counterInfo.Maximum $resultTable第二阶段:批量统计文件中的所有计数器并导出到文件中
$startDate = (Get-Date).AddDays(-1).Date $endDate = (Get-Date).Date $perfPath = "D:\360Downloads\*.blg" #哈希表存储结果数据 $resultTable=@{} #导入指定时间的所有计数器信息 $counterData = Import-Counter -Path $perfPath | Where-Object -FilterScript {($_.Timestamp -ge $startDate) -and ($_.Timestamp -lt $endDate)} #所有的计数器名字 $countersNameList = $counterData[0].countersamples | % {$_.Path} #遍历每个计数器,将计算结果存储到哈希表中 foreach($counterName in $countersNameList) { #$counterName = "\\hzc\system\threads" $counterDataOne = $counterData | Foreach-Object {$_.CounterSamples} | Where {$_.Path -like $counterName} $counterInfo = $counterDataOne | Measure-Object CookedValue -Average -Minimum -Maximum $resultTable.$($counterName+" :平均值") = $counterInfo.Average $resultTable.$($counterName+" :最小值") = $counterInfo.Minimum $resultTable.$($counterName+" :最大值") = $counterInfo.Maximum } #$resultTable.GetEnumerator() | sort Name | Format-Table -Auto #几种方法导出到文件 $resultTable.GetEnumerator() | sort Name | Format-Table -Auto | Out-File "D:\360Downloads\PerfmonCounter.txt" $resultTable.GetEnumerator() | sort Name | Export-Csv -Path "D:\360Downloads\PerfmonCounter.txt" -Encoding "unicode" -Force $resultTable.GetEnumerator() | sort Name | Format-List | Export-Csv -Path "D:\360Downloads\PerfmonCounter.xlsx" -Encoding "unicode" -Force声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
目标:目标文件为一个float32型存储的二进制文件,按列优先方式存储。本文使用Python读取该二进制文件并使用matplotlib.pyplot相关工具画出
衡量计算机的性能指标有: 1、字长。由于计算机使用二进制,所以计算机以多少个二进制位作为信息处理单元,就成为衡量计算机性能的主要指标,如用16位二进制代表信息
1.什么是进制进制是一种计数的方式,常用的有二进制、八进制、十进制、十六进制。任何数据在计算机内存中都是以二进制的形式存放的。我对进制的个人理解,二进制数是以2
问题你想读写二进制文件,比如图片,声音文件等等。解决方案使用模式为rb或wb的open()函数来读取或写入二进制数据。比如:#Readtheentirefile
12的二进制是1100。二进制的进位规则是“逢二进一”,借位规则是“借一当二”。 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比