Process info do logu z cmd

Medo77

  • ***
  • 169
    • Zobrazit profil
    • E-mail
Process info do logu z cmd
« kdy: 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.


PanVP

  • *****
  • 857
    • Zobrazit profil
    • E-mail
Re:Process info do logu z cmd
« Odpověď #1 kdy: 24. 06. 2021, 15:15:55 »
Něco jako?

Citace
gwmi Win32_PerfFormattedData_PerfProc_Process | sort IOReadBytesPersec -des | select  Name,IOReadBytesPersec,IOWriteBytesPersec | ft -AutoSize

Medo77

  • ***
  • 169
    • Zobrazit profil
    • E-mail
Re:Process info do logu z cmd
« Odpověď #2 kdy: 25. 06. 2021, 10:33:44 »
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

Medo77

  • ***
  • 169
    • Zobrazit profil
    • E-mail
Re:Process info do logu z cmd
« Odpověď #3 kdy: 25. 06. 2021, 10:38:47 »
ok, zlomene

get-wmiobject win32_process | where commandline -match "-sRETAZEC" | Select-Object CommandLine, @{Name="MB";Expression={$_.ReadTransferCount/1MB}}