Hali!
Egy kerdes: shellbol egyszeruen hogyan tudom lekerdezni hogy egy program mennyi memoriat igenyelt futtatasa soran? Mint ahogy `time
` visszaadja a netto ill. valos futasi ido"t, ugyanez, csak memoriaban. A getrusage() C lib fuggveny alapjan talaltam meg hogy az /usr/bin/time (nem a shell-builtin `time`! az buta) ki tudja ezeket iratni, a man alapjan van is egy tonna memoriara vonatkozo kapcsoloja (-f %M %t %K %D %p %X %Z), de ezek mind 0-t adnak vissza (kiveve a pagesize, %Z, az kiadja hogy 4096). Szoval ez latszolag nem jo, tesztelve debian/etch es fedora/fc[78] disztrokon, mind sima mezei parancsokra (pl echo) mind cel-programokra, amikre kivancsi is vagyok - es ezutobbiakra me'g egy top is kimutatja hogy joparszaz mega't felvesz. Mind mezei juzerkent (mindenfele ulimit korlatozas nelkul, persze) es mind root-kent probaltam.
Otlet?
Koszi, A.
- 1142 megtekintés
Hozzászólások
Hirtelen /proc nézegetéssel emberileg fogyasztható a /proc/self/status, gondolom ott valahol kell/lehet linux-specifikus megoldást találni.
- A hozzászóláshoz be kell jelentkezni
Aha, ez tenyleg jo, a `cat /proc/$PID/status | grep ^VmPeak:` az ha minden igaz, ez (tapasztalat alapjan, a man nem sokat ir). Osszeutok erre egy kis c progit, ami valahogy okosan megcsinalja hogy shell-bol kenyelmesen lehessen lekerdezni a dolgot.
koszi szepen, A.
- A hozzászóláshoz be kell jelentkezni
Azt a fenebe... a /proc/self/status elfelejti a Vm* parametereket, amint a processz atkerul zombi allapotba. Igy le se lehet kerdezni a progi futasa utan - max persze allando pollozgatassal, menet kozben (de az minden csak nem elegans). A /proc/self/stat[m]-ben pedig ha jol latom ez a peak mem usage nincs benne. Eh. Tenyleg nins erre semmi megoldas, nem nagyon hiszem el...
- A hozzászóláshoz be kell jelentkezni
Passz, csak egy tipp volt, hogy merre kell/lehet elindulni.
- A hozzászóláshoz be kell jelentkezni
thx, ez fasza ;]
- A hozzászóláshoz be kell jelentkezni
Fedora alatt a glibc-utils csomagban benne van.
- A hozzászóláshoz be kell jelentkezni
koszi, ez jo. fura is volt mert deb alatt alapbol fent volt (libc6 reszekent).
Mondjuk kicsit talan tul fancy is, meg nehezen tuningolhato. Majd meg meg kene nezni, hogy `time`-hoz hasonlo alternativat hogyan lehetne kore keriteni, kenyelmesen.
- A hozzászóláshoz be kell jelentkezni
Eh, persze hogy van ilyen, a glibc forrasaban van egy `memusage.sh` nevu szkript, wrapper, szep, fasza; hulye debian viszont nem birta belecsomagolni a disztroba :] Azt a jo kis hisztogrammot viszont nem lehet kikapcsolni :/
- A hozzászóláshoz be kell jelentkezni