Χρήση μνήμης

Η μνήμη που χρησιμοποιεί ένα πρόγραμμα χωρίζεται στις παρακάτω κατηγορίες:
Κώδικας (code)
Οι εντολές του προγράμματος, τυπικά σταθερές κατά την εκτέλεσή του.
Δεδομένα (data)
Τα δεδομένα που έχουν οριστεί στατικά μέσα στο πρόγραμμα (π.χ. αρχικές τιμές) καθώς και η δυναμική μνήμη που απαιτείται κατά τη λειτουργία του (εντολή new στη Java / C++, malloc στη C). Σε πολλά προγράμματα αυτή είναι η κατηγορία της μνήμης που μας ενδιαφέρει να βελτιστοποιήσουμε.
Στοίβα (stack)
Τοπικές μεταβλητές, κλήση συναρτήσεων ιδίως σε αναδρομικές συναρτήσεις.
Παράδειγμα χρήσης μνήμης προγράμματος (g++):
      1906  average shared memory size (κώδικας)
      9232  average unshared data size (δεδομένα)
       195  average unshared stack size (στοίβα)
Όταν ο όγκος της κύριας μνήμης του υπολογιστή δεν επαρκεί μπορεί να χρησιμοποιηθεί: Τέλος, για οικονομία στο χώρο που απαιτεί ο κώδικας των προγραμμάτων στο δίσκο, χρησιμοποιούνται συχνά μοιρασμένες βιβλιοθήκες (shared libraries) (π.χ. .DLL, .so).