Apa yang menggunakan memori saya pada instance Amazon EC2 saya?

9

Saat ini saya sedang menjalankan simpul GPU Cluster Compute tunggal di Amazon EC2 yang terdaftar memiliki 22 GB RAM per instance. topmengkonfirmasi bahwa instance memang memiliki 22 GB RAM tetapi pada sistem idle tampaknya 5-6 GB RAM secara konsisten digunakan. Tidak topjuga tidak ps auxdapat mengidentifikasi proses yang disebabkan penggunaan ini.

5-6 GB sepertinya terlalu besar untuk OS bagi saya, tapi mungkin saya salah. Mungkinkah ini overhead karena virtualisasi di Amazon? Ada ide atau saran lain tentang bagaimana saya bisa melacak ini?

Joe Corkery
sumber
1
Apakah Anda termasuk cache memori dalam perhitungan ini? Mungkin bermanfaat untuk menunjukkan isi dari proc meminfo.
Ray Vahey

Jawaban:

7

Alasan mengapa Anda melihat sejumlah besar memori yang digunakan adalah bahwa Linux menggunakan sebagian besar untuk cache file.

Ini mungkin akan menjelaskan hal-hal untuk Anda:

http://www.linuxatemyram.com/

Rilindo
sumber
5

Ketika Anda melihat di atas , memori bebas yang Anda lihat adalah nilai sebelum caching kernel.

top - 12:59:25 up 1 day, 15:47,  5 users,  load average: 0.04, 0.10, 0.12
Tasks: 161 total,   1 running, 160 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.5%us,  1.8%sy,  0.0%ni, 94.2%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   3985464k total,  3369908k used,   615556k free,   752964k buffers
Swap:  1951740k total,       12k used,  1951728k free,  1439160k cached

Laptop saya sebagai total memori 3985464 kilo-byte. Tetapi kernel linux akan melakukan cache sebagian besar dari itu secara internal, jadi top hanya menunjukkan 619748kB memori bebas. Tetapi jika Anda melihatnya menggunakan perintah gratis , Anda memahami bahwa, pada kenyataannya, sebagian besar memori tersedia ... dalam cache.

$ free
             total       used       free     shared    buffers     cached
Mem:       3985464    3365716     619748          0     752796    1439152
-/+ buffers/cache:    1173768    2811696
Swap:      1951740         12    1951728

Memori bebas sebenarnya adalah yang ditunjukkan pada baris buffer / cache .

             total       used       free     shared    buffers     cached
-/+ buffers/cache:    1173768    2811696

Mesin ini sebagai memori bebas 2,8GB.

Julien Vehent
sumber
Ini cukup membingungkan karena saya kira saya tidak mengerti peran cache. Apa yang Anda maksud dengan "kernel linux akan melakukan cache sebagian besar [total memori 3985464k]" ? Anda menyatakan bahwa topkemudian hanya menunjukkan nomor lain, tapi hanya menunjukkan berarti nomor lain akan kurang, namun nomor yang Anda kutipan lebih besar. Masukkan head-scratch smiley di sini.
Adam