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