Jak ziskavat informace o procesech
Radim Kolar
hsn at filez.com
Fri Apr 6 01:54:46 CEST 2012
portebuju preportovat
org.apache.hadoop.yarn.util.LinuxResourceCalculator je to Java, takze
nemuze volat funkce z C knihoven
jedna se o tridu ktera ziskava informace o systemu, procesech a pameti.
Zajimalo by mne jak tyto informace z kernelu vyndat, neco pujde asi pres
/proc ale jedinej zajimavej soubor v /proc/X/ je asi jen ten status kde
je CPU time procesu.
Ty informace o pameti asi ziskam z vmstat, pocet procesoru ze sysctl
potrebuju naimplementovat:
getPhysicalMemorySize() - asi z vmstat avm. ale tohle cislo mam vetsi
nez phys memory, ale zase mensi nez virtualni pamet
getVirtualMemorySize() - ze swapinfo
getAvailablePhysicalMemorySize() - vmstat
getAvailableVirtualMemorySize() - swapinfo
getNumProcessors() - sysctl
getCpuFrequency() - sysctl
getCumulativeCpuTime() - /proc/x/status
getCpuUsage() - tohle vypisuje top v %WCPU
getProcResourceValues() - cputime, phys mem, v mem - asi to brat z ps
hadoop to chce monitorovat 1x do sekundy. Neni lepsi reseni si napsat
program kterej tohleto vsechno vypisuje do pipe a v jave si to z ni
cist? nebo je spusteni tak 10ti programu za sekundu tak mala zatez ze na
soucasnych CPU to nestoji za rec?
More information about the Users-l
mailing list