Asi před necelou hodinou jsem dostal nápad, když mi na mém notebooku s 5,6GB využitelné paměti neustále naskakovala hláška ať vypnu programy xyz, však to určitě taky znáte. A tak jsem si řekl že si udělám malý program který mi zjistí které programy zabírají v paměti nejvíc. Třeba bych se chtěl někdy pochlubit někomu kolik mi v paměti zabírá který program. V třídě Process jsem našel tyto vlastnosti, z nichž ani jedna mi neřekla to co říkal Task Manager ve Windows:
long a = item.NonpagedSystemMemorySize64;
long b = item.PagedMemorySize64;
long c = item.PagedSystemMemorySize64;
long d = item.PeakPagedMemorySize64;
long e1 = item.PeakVirtualMemorySize64;
long f = item.PrivateMemorySize64;
long g = item.VirtualMemorySize64;
long g2 = item.WorkingSet64;Samozřejmě že všechny tyto metody byly dostupné i bez“64″, ale jak jsem čekal, nebylo to ono. Když jsem si projel asi 30 stránek tak jsem konečně natrefil na tento článek na CodeProject: http://web.archive.org/web/20250821023102/https://www.codeproject.com/Articles/38438/Monitoring-Process-Statistics-in-C-WPF . Zjistil jsem si kód který potřebuji, ve skutečnosti byl jednoduchý, měl jen 2 řádky z nichž první byl vytvoření instance System.Diagnostics.PerformanceCounter a druhý byl získání hodnoty z tohoto objektu.
Zkopíroval jsem to do vlastního programu, vložil do slovníku a pak dál(teď mě napadá zda to nebylo jednodušší vložit do kolekce a použít na ni Sort(IComparer)) a nakonec mi vyšlo toto(jen podotknu že tam kde u procesu není .exe je to process 64bit, jehož název exe se mi nepodařilo získat vlastností Process.MainModule.FileName a tak tam je text z Process.ProcessName):
Idle – 24
System – 148
RockMeltCrashHandler.exe – 344
smss – 368
WLIDSVCM – 992
SynTPHelper – 1016
chrome_frame_helper.exe – 1052
wininit – 1084
atiesrxx – 1140
sqlbrowser.exe – 1160
Wakoopa.exe – 1360
Fuel.Service – 1448
sqlwriter – 1476
AppleMobileDeviceService.exe – 1560
mDNSResponder.exe – 1624
AdminService – 1632
RIconMan.exe – 1648
Ath_CoexAgent.exe – 1652
lsm – 1680
wlanext – 1704
atieclxx – 1748
fdlauncher – 1856
dllhost – 1880
winlogon – 2172
GoogleUpdate.exe – 2460
SearchProtocolHost – 2464
notepad – 2648
conhost – 2736
SearchFilterHost – 2776
WLIDSVC – 2788
taskmgr – 2820
ScrybeUpdater.exe – 3320
fdhost – 3616
NahradDiakritikuVeTrayi.exe – 3676
csrss – 3964
SynTPEnh – 4188
taskhost – 4744
TCMDX64 – 4844
ZalohaSrc.vshost – 5012
MsDepSvc – 5308
spoolsv – 5420
BtvStack – 5844
lsass – 5852
services – 6108
MemoryPerformanceMonitoring.vshost – 6188
nlsvc – 6724
wmpnetwk – 8548
TeamViewer_Service.exe – 8816
NLClientApp – 8956
TOTALCMD.EXE – 9548
msvsmon – 9984
test.vshost.exe – 10964
audiodg – 11428
AddInProcess32.exe – 12760
scrybe.exe – 12944
dwm – 23056
googletalk.exe – 28444
ReportingServicesService – 29904
FluffyApp.exe – 31496
vlc.exe – 31808
SearchIndexer – 38760
twhirl.exe – 54172
svchost – 69920
explorer – 70224
sqlservr – 91424
Skype.exe – 123868
MetroTwit – 132136
VCSExpress.exe – 260432
chrome.exe – 775852
PS: Z nějakého důvodu jsou zde jen úlohy běžící pod nalogovaným účtem (.sunamo), ale je to úplně první verze programu, tak to zase tak moc nevadí.