Назад | Перейти на главную страницу

Счетчики производительности Server 2003 для общих файловых ресурсов?

У меня есть диск, на котором происходит несколько разных вещей. Я хотел бы приблизительно определить, какая часть дисковой активности связана с совместным использованием файлов. Есть ли на это счетчик?

Кроме того, и, возможно, мне это снилось, я, кажется, помню, что видел какую-то программу, которая могла бы позволить мне отслеживать активность файлов в определенной папке в общем ресурсе. Звоните в колокола? Спасибо.

Что касается мониторинга активности папки:

Вы можете использовать WMI (CIM_DataFile) для отслеживания папки на предмет любых изменений, используя что-то похожее на это как запрос:

ВЫБЕРИТЕ * ИЗ __InstanceOperationEvent ВНУТРИ 1, ГДЕ TargetInstance ISA "CIM_DataFile" И TargetInstance.Drive = "C:" И TargetInstance.Path = "\ Data"

Что-то вроде этого:

' Full path to the folder to monitor
sPath = "\\localhost\c$\Scripts"
sComputer = split(sPath,"\")(2)
sDrive = split(sPath,"\")(3)
sDrive = REPLACE(sDrive, "$", ":")
sFolders = split(sPath,"$")(1)
sFolders = REPLACE(sFolders, "\", "\\") & "\\"

' Create our WMI instance
Set objWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
' Begin monitoring
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE " _
& "TargetInstance ISA 'CIM_DataFile' AND " _
& "TargetInstance.Drive='" & sDrive & "' AND " _
& "TargetInstance.Path='" & sFolders & "'")

Wscript.Echo vbCrlf & Now & vbTab & _
"Begin Monitoring for a Folder Change Event..." & vbCrlf

Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    Select Case objLatestEvent.Path_.Class

        Case "__InstanceCreationEvent"
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was created" & vbCrlf

        Case "__InstanceDeletionEvent"
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was deleted" & vbCrlf

        Case "__InstanceOperationEvent"
            If objLatestEvent.TargetInstance.LastModified <> _
                objLatestEvent.PreviousInstance.LastModified then
                WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
                & " was modified" & vbCrlf
            End If

        IF objLatestEvent.TargetInstance.LastAccessed <> _
            objLatestEvent.PreviousInstance.LastAccessed then
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was accessed" & vbCrlf
        End If

    End Select
Loop

Set objWMIService = nothing
Set colMonitoredEvents = nothing
Set objLatestEvent = nothing