Fórum Root.cz
Hlavní témata => Windows a jiné systémy => Téma založeno: Medo77 24. 06. 2021, 15:08:31
-
DD,
pani nejaka idea, ako odlogovat ReadBytes/WritenBytes z konkretneho procesu do logu cez cmd/powershell ... ?
Aby to bolo komplikovanejsie, ta Appka je pustane viac krat, a identifikovat by sa to dalej pomocou bud User Name,
alebo PIDu (a ten dalej nejak rozbit dalej, ze na aku cestu toho procesu je viazany).
(jeden unikatny process nie je problem, ale viac procesov vrati nic nehovoriaci bordel.)
WMIC PROCESS WHERE Name="xxx.exe" get ReadTransferCount, WriteTransferCount /FORMAT:csv
Moze to byt aj free appka, ak to vie sypat v nejakom intervalu do logu ....
processhacker je pekny, ale nevie automatizovat, process monitor, tiez nic moc ..
Ideou je zistit napr. v minutovych intervaloch, aky je konkretny process agresivny voci disku a z toho dalej vyvodit mozne optimalizacie.
Dakujem za nakopnutie.
-
Něco jako?
gwmi Win32_PerfFormattedData_PerfProc_Process | sort IOReadBytesPersec -des | select Name,IOReadBytesPersec,IOWriteBytesPersec | ft -AutoSize
-
Dakujem, ale toto generuje asi aktualny stav, kdezto pre mna je ziaduci kumulaivny.
Uz som sa pohol dalej, ale momentalne som vyhorel na syntaxi, ako odseparovat konkretny proces podla
ExecutablePath alebo CommandLine ...
Toto vypise vsetko na hromadu, ale rad by som to vypisoval po jednom.
(S tym ze zadam konkretnu cestu do filtra).
Get-WmiObject Win32_Process -Filter "name = 'sqlservr.exe'" | Select-Object CommandLine, @{Name="MB";Expression={$_.ReadTransferCount/1MB}}
tusi niekto, co je zle ? Nejaka hra na lomitka, uvodzovky, apostrofy ?
Diky
Get-WmiObject Win32_Process -Filter "ExecutablePath = C:\Program Files\Microsoft SQL Server\MSSQL14.xxx\MSSQL\Binn\sqlservr.exe"
Get-WmiObject : Invalid query "select * from Win32_Process where ExecutablePath = C:\Program Files\Microsoft SQL
Server\MSSQL14.xxx\MSSQL\Binn\sqlservr.exe"
At line:1 char:1
+ Get-WmiObject Win32_Process -Filter "ExecutablePath = C:\Program File ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
-
ok, zlomene
get-wmiobject win32_process | where commandline -match "-sRETAZEC" | Select-Object CommandLine, @{Name="MB";Expression={$_.ReadTransferCount/1MB}}