miten c-kielessä saa ohjelman jossakin vaiheessa prosessin käyttämän maksimi muistimäärän (fyysistä/&virtuaalista)? käyttiksenä on Linux
prosessin maksimimuistinkäyttö C-kielessä
ceebie
4477
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
int main() {return system("top");}
ei ihan riitä, vaan tarkoitus olisi saada koodia käsittelevän prosessin maksimimuistin kulutus siltä ajalta, kun prosessi on ollut elossa ja ajossa
mutta jos osaat neuvoa miten sen saa tehtyä top:lla, niin kerro, ite olen saanut sen vain näyttämään muistin kulutusta, mutta muistinkulutus päivittyy sitä mukaa kuin suoritus etenee ja vaihtoehdoksi jää vain sen lokiin kirjoittaminen
Jaa, time-ohjelman pitäisi näyttää kysymäsi tiedot, mutta manissa lukee:
"Not all resources are measured by all versions of Unix, so some of the values might be reported as zero."
Ja ainakin mulla nollaa on *juuri* noissa muisti arvoissa, mutta kokeile itse.
/usr/bin/time -v ./ohjelma
Huom. Pitää olla /usr/bin/time. Pelkkä time käyttää shellin sisäistä komentoa.
dummy-svenssonit