memory usage ενός script/commad?
Giorgos Keramidas
keramida at ceid.upatras.gr
Wed Oct 4 01:26:51 EEST 2006
On 2006-10-04 00:47, V13 <v13 at priest.com> wrote:
> To na metriseis th mnhmh poy xreiazetai ena programma einai ligo mystirio.
> Pos akribos to enoeis?
> * Metras kai th mnhmh poy exei desmeysei alla den exei xrhsimopoihsei?
> * Metras kai th vm poy katanalonetai logo mmap()? [1]
> * Se ena programma poy doylepse gia 1 mera, metras kai th mnhmh poy
> xreiastike mia fora kai meta egine gia panta swap-out?
[...]
> [1] An h apanthsh soy einai nai, tote ta apotelesmata tha'nai entelos lathos.
> An einai oxi, tote exe sto noy oti to memory allocation apo th glibc 2.3 kai
> meta ginetai me mmap sto /dev/null.
Συμφωνώ 100% :)
Σε πολλούς memory allocators χρησιμοποιείται η mmap(). Η τρέχουσα
malloc() του FreeBSD[1], χρησιμοποιεί είτε sbrk() είτε mmap().
[1] Περισσότερες πληροφορίες στα κείμενα του Jason Evans:
http://people.freebsd.org/~jasone/jemalloc/
Το θέμα του memory usage είναι ιδιαίτερα πολύπλοκο για να μπορεί να
αναλυθεί με ένα αριθμό μόνο, όπως π.χ. το maxrss/time. Για παράδειγμα,
στο paper των Paul R. Wilson, Mark S. Johnson, Michael Neely και David
Roles[2], αναφέρονται τουλάχιστον τέσσερα διαφορετικά patterns από
memory usage ενός προγράμματος στο χρόνο:
* Ramps. Μικρή χρήση μνήμης στην αρχή, με αυξανόμενο μέγεθος από το
RSS, που τερματίζει και ελευθερώνεται στο τέλος.
* Peaks. Μικρής ή μεγαλύτερης διάρκειας "peaks" από μνήμη, που
δεσμεύεται και ελευθερώνεται σχετικά γρήγορα, μία ή περισσότερες
φορές.
* Plateaus. "Peaks" με σχετικά flat μέγεθος και μεγαλύτερη διάρκεια.
* Reverse peaks. Μεγάλη χρήση μνήμης στην αρχή, που μικραίνει καθώς
το data set υπό επεξεργασία σιγά-σιγά ελευθερώνεται.
Δεν είμαι σίγουρος πόσο fine-grained μετρήσεις ή8ελε ο αρχικός poster,
γι αυτό είπα και για profiling. Αλλες τεχνικές που μπορούν, σχετικά
εύκολα, να χρησιμοποιηθούν περιγράφονται στο παρακάτω paper:
[2] Paul R. Wilson, Mark S. Johnson, Michael Neely και David
Roles. "Dynamic Storage Allocation: A Survey and Critical Review".
(1995) Department of Computer Sciences. University of
Texas. Austin, Texas.
[ http://citeseer.ist.psu.edu/wilson95dynamic.html ]
More information about the Linux-greek-users
mailing list