Fórum Root.cz

Hlavní témata => Windows a jiné systémy => Téma založeno: Medo77 24. 06. 2021, 15:08:31

Název: Process info do logu z cmd
Přispěvatel: 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ázev: Re:Process info do logu z cmd
Přispěvatel: PanVP 24. 06. 2021, 15:15:55
Něco jako?

Citace
gwmi Win32_PerfFormattedData_PerfProc_Process | sort IOReadBytesPersec -des | select  Name,IOReadBytesPersec,IOWriteBytesPersec | ft -AutoSize
Název: Re:Process info do logu z cmd
Přispěvatel: Medo77 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
Název: Re:Process info do logu z cmd
Přispěvatel: Medo77 25. 06. 2021, 10:38:47
ok, zlomene

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