Pertanyaan Mengapa tidak nilai-nilai% MEM di tambah hingga total memori yang digunakan?


Saat ini saya sedang memeriksa masalah kinerja dengan VPS saya dan untuk itu saya mencoba memahami proses mana yang paling banyak memakan memori. Membaca bagian atas, inilah yang saya dapatkan:

Mem:    366544k total,   321396k used,    45148k free,      380k buffers
Swap:  1048572k total,   592388k used,   456184k free,     7756k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                  
12339 ruby      20   0  844m  74m 2440 S    0 20.8   0:24.84 ruby                                                                                     
12363 ruby      20   0  844m  73m 1576 S    0 20.6   0:00.26 ruby                                                                                     
21117 ruby      20   0  171m  33m 1792 S    0  9.3   2:03.98 ruby                                                                                     
11846 ruby      20   0  858m  21m 1820 S    0  6.0   0:09.15 ruby                                                                                     
21277 ruby      20   0  219m  11m 1648 S    0  3.2   2:00.98 ruby                                                                                     
  792 root      20   0  266m  10m 1024 S    0  3.0   1:40.06 ruby                                                                                     
  532 mysql     20   0  234m 4760 1040 S    0  1.3   0:41.58 mysqld                                                                                   
  793 root      20   0  250m 4616  984 S    0  1.3   1:20.55 ruby                                                                                     
  586 root      20   0  156m 4532  848 S    0  1.2   6:17.10 god                                                                                      
12315 ruby      20   0  175m 2412 1900 S    0  0.7   0:07.55 ruby                                                                                     
 3844 root      20   0 44036 2132 1028 S    0  0.6   1:08.22 ruby                                                                                     
10939 ruby      20   0  179m 1884 1724 S    0  0.5   0:08.33 ruby                                                                                     
 4660 ruby      20   0  229m 1592 1440 S    0  0.4   2:55.46 ruby                                                                                     
 3879 nobody    20   0 37428  964  520 S    0  0.3   0:01.99 nginx 

Seperti yang Anda lihat, memori saya sekitar 90% digunakan (yang merupakan masalah saya) tetapi ketika Anda menambahkan nilai% MEM, itu hanya sekitar 50-60%. Hal yang sama, RES tidak menambahkan hingga ~ 350mb. Mengapa? Apakah saya salah memahami maknanya?

Terima kasih


16
2018-06-22 15:14


asal


Saya pikir top menyesuaikan jumlah baris yang ditampilkan dengan ukuran tampilan, sehingga semua proses mungkin tidak terlihat. - Samik


Jawaban:


Saya mencoba memahami proses mana yang paling banyak memakan memori.

Itu sederhana: rubi!

ketika Anda menambahkan nilai% MEM, itu hanya sekitar 50-60%

Sebenarnya, menambahkan kolom seperti yang ditunjukkan 69,2%.

  • Seperti yang dicatat Samik, tentu saja itu tidak mencakup semua proses pada sistem Anda - coba pastebinning output dari top -b -n 1 untuk mendapatkan hasil lengkap dalam file dan membagikannya dengan kami sehingga kami dapat membantu Anda dengan lebih baik.

  • Juga, kernel membutuhkan sejumlah memori, dan beberapa jenis VPS (mis. Xen, KVM) akan menyediakan beberapa memori tambahan pada saat boot untuk penggunaan internal mereka. Pastebin output dari dmesg terlalu.

Untuk metrik dan kemudahan penggunaan yang lebih baik, saya sarankan Anda menggunakannya htop Install htop alih-alih atas, dengan opsi "Sembunyikan opsi pengguna utas" diaktifkan:

enter image description here

Juga lihat memtop:

enter image description here


6
2018-06-22 16:17



Inilah output teratas penuh: paste.ubuntu.com/1055673 dan dmesg: paste.ubuntu.com/1055674 Menggunakan htop memberi saya output yang berbeda! Saya melihat tiga dari proses MEM 22,4%, pada kenyataannya, banyak proses diduplikasi (mysqld juga, berkali-kali). Dalam hal apapun, saya suka output, cara bersih ... Memtop juga keren, saya bisa lebih memahami aplikasi ruby ​​mana yang paling banyak memakan memori;) - ben


linux top perintah menunjukkan keseluruhannya ram memori yang digunakan, tidak hanya untuk Anda, tetapi juga sistem. linux caches beberapa area dari hard disk Anda untuk memperbaiki komputer Anda. monitor mem lainnya disarankan untuk digunakan.


0
2018-04-26 23:44