Χρησιμοποίησα το top
για να δω τη χρήση μνήμης αυτή τη στιγμή. Θα ήθελα όμως να παρακολουθώ τη χρήση μνήμης για μια χρονική περίοδο. Π.χ. να ξεκινήσω την παρακολούθηση και στη συνέχεια να εκτελέσω μερικές εντολές και τελικά να σταματήσω την παρακολούθηση και να δω πόση μνήμη χρησιμοποιήθηκε κατά τη διάρκεια της περιόδου.
Πώς μπορώ να το κάνω αυτό στον Ubuntu Server;
Υποθέτω ότι θα μπορούσα να ξεκινήσω ένα cronjob κάθε 5ο δευτερόλεπτο περίπου και να επικαλεστώ μια εντολή που θα καταγράφει την τρέχουσα χρήση μνήμης σε ένα αρχείο κειμένου. Αλλά ποια εντολή πρέπει να χρησιμοποιήσω για να λάβω την τρέχουσα χρήση μνήμης σε μορφή που να είναι εύκολο να καταγραφεί σε αρχείο κειμένου;
Συνιστώ να συνδυάσετε τις προηγούμενες απαντήσεις
watch -n 5 free -m
Σημειώστε ότι το Linux θέλει να χρησιμοποιεί κάθε επιπλέον μνήμη για cache hard drive blocks. Έτσι, δεν θέλετε να κοιτάξετε μόνο την ελεύθερη μνήμη Mem
. Θέλετε να κοιτάξετε τη στήλη free
της γραμμής -/+ buffers/cache:
. Αυτό δείχνει πόση μνήμη είναι διαθέσιμη στις εφαρμογές. Έτσι, έτρεξα το free -m
και πήρα αυτό:
total used free shared buffers cached
Mem: 3699 2896 802 0 247 1120
-/+ buffers/cache: 1528 2170
Swap: 1905 62 1843
Ξέρω ότι χρησιμοποιώ 1528 MB και έχω 2170 MB ελεύθερα.
Σημείωση: Για να σταματήσετε αυτόν τον κύκλο "ρολογιού" μπορείτε απλά να πατήσετε Ctrl+C.
Χρησιμοποιήστε την εντολή free.
Για παράδειγμα, αυτό είναι το αποτέλεσμα της εντολής free -m
:
total used free shared buffers cached
Mem: 2012 1666 345 0 101 616
-/+ buffers/cache: 947 1064
Swap: 7624 0 7624
free -m | grep /+
θα επιστρέψει μόνο τη δεύτερη γραμμή:
-/+ buffers/cache: 947 1064