首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

在windows下怎么将CPU和内存消耗,定时追加输入到一个文件里

2011-12-28 
在windows下如何将CPU和内存消耗,定时追加输入到一个文件里类似Unix下的sar命令,sar 1 10 t.txt在windo

在windows下如何将CPU和内存消耗,定时追加输入到一个文件里
类似Unix下的sar命令,sar 1 10 >> t.txt
在windows下如何将CPU和内存消耗,定时追加输入到一个文件里。

谢谢!


[解决办法]
运行这个批处理
或者把它加到计划任务里面

BatchFile code
@echo offset DstFile=C:\test\cpu_mem.logif not exist %DstFile% (  type nul>"%DstFile%"):cpufor /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value ^| findstr "PercentProcessorTime"') do (  set UseCPU=%%a  goto :mem):memfor /f "tokens=2 delims==" %%a in ('wmic path Win32_PhysicalMemory get * /value ^| findstr "Capacity"') do (  set TalMem=%%a)for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Memory get * /value ^| findstr "AvailableBytes"') do (  set UseMem=%%a):show>>"%DstFile%" echo CPU使用率:%UseCPU%%%>>"%DstFile%" echo 物理内存总量:%TalMem%>>"%DstFile%" echo 当前可用内存:%UseMem%
[解决办法]
内存使用率计算一下就可以啦``~
完整代码如下:
VBScript code
'/************************************************************************/'' FileName: WriteUsage.vbs''   Author: Chinafish''    Email: china_fish@163.com'' Homepage: http://www.csinx.org''     Desc: Write CPU & Memory usage ''/************************************************************************/on error resume nextconst TargetFile = "C:\Usage.log"Dim dwTotalMem, dwAvailMem'定时循环记录do while trueconst ForReading = 1const ForWriting = 2Set fso = CreateObject("Scripting.FileSystemObject")'没有文件先创建文件Set MyFile = fso.CreateTextFile(TargetFile, false)MyFile.Close'打开创建的文件读出原来的内容 Set MyFile = fso.OpenTextFile(TargetFile, ForReading)strContent = MyFile.ReadAllMyFile.Close'先写原文件内容Set MyFile = fso.OpenTextFile(TargetFile, ForWriting)'文件无内容时写文件头if strContent <> "" then    MyFile.WriteLine(strContent)else    MyFile.WriteLine("/*Usage.log file write by Chinafish.*/")    MyFile.WriteBlankLines 1End if'写开始时间MyFile.WriteLine("程序启动时间: " & Now())'本地电脑strComputer = "."'连接到本地电脑Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration")'总计物理内存For Each colItem In colItems    dwTotalMem = CLng(colItem.TotalPhysicalMemory / 1024)    MyFile.WriteLine("总计物理内存: " & CLng(colItem.TotalPhysicalMemory / 1024) & "MB")Next'剩余内存Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,48)For Each objItem in colItems    dwAvailMem = objItem.AvailableMBytes    MyFile.WriteLine("剩余物理内存: " & objItem.AvailableMBytes & "MB")Next'物理内存使用率(第一行精确到小数后2位, 第二行取整数) 'MyFile.WriteLine("物理内存使用: " & CInt((1 - dwAvailMem/dwTotalMem)*100*100)/100 & "%")MyFile.WriteLine("物理内存使用: " & CInt((1 - dwAvailMem/dwTotalMem)*100) & "%")'CPU数和使用率Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,48)i = 0For Each objItem in colItems    MyFile.WriteLine("CPU(" & i & ")使用率: " & objItem.LoadPercentage & "%")    i = i + 1Next'写结束时间MyFile.WriteLine("程序结束时间: " & Now())MyFile.CloseSet fso = NothingSet MyFile = Nothing'睡眠达到定时操作目的 参数是ms 1000是1秒WScript.Sleep 1000*60*0.1Loop 

热点排行