Чому значення% MEM у верхній частині не складаються до загальної використаної пам'яті?


18

Наразі я налагоджую проблеми з моєю VPS, тому я намагаюся зрозуміти, який з процесів споживає найбільше пам’яті. Читаючи зверху, ось що я отримую:

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 

Як ви можете бачити, що в моїй пам’яті використовується близько 90% (що є моєю проблемою), але коли ви додаєте значення% MEM, вона сягає приблизно 50-60%. Те саме, ВДЕ не дорівнює ~ 350 Мб. Чому? Чи я розумію їх значення?

Спасибі


Я думаю, що верх налаштовує кількість рядків, що відображаються з розміром дисплея, тому всі процеси можуть бути не видно
Самік

Відповіді:


6

Я намагаюся зрозуміти, який з процесів їсть найбільше пам’яті.

Це просто: рубін !

коли ви додаєте значення% MEM, це сягає приблизно 50-60%

Насправді, додавання стовпців, як показано, дає 69,2% .

  • Як зауважив Самік, це, безумовно, не включає всі процеси у вашій системі - спробуйте приєднати результат, top -b -n 1щоб отримати повний вихід у файл та поділитися ним з нами, щоб ми могли вам краще допомогти.

  • Також ядро ​​займає деяку кількість пам’яті, а деякі види VPS (наприклад, Xen, KVM) залишають додаткову пам’ять при завантаженні для їх внутрішнього використання. Вставте вихід dmesgтакож.

Для кращих показників та зручності використання рекомендую використовувати htopВстановити htop замість верху, з увімкненою опцією "Сховати нитки користувачів":

введіть тут опис зображення

Також дивіться memtop:

введіть тут опис зображення


Ось повний верхній вихід: paste.ubuntu.com/1055673 та dmesg: paste.ubuntu.com/1055674 Використання htop дає мені інший результат! Я бачу три з 22,4% MEM-процесів, насправді багато процесів дублюються (mysqld теж багато разів). У будь-якому випадку, мені подобається вихід, спосіб очищення ... Memtop також крутий, я можу краще зрозуміти, хто з моїх програм для рубінів їсть найбільше пам’яті;)
Бен

0

topКоманда linux показує всю ramвикористану пам'ять не тільки для вас, але й системи. linux cachesдеякі області з вашого жорсткого диска, щоб швидко прискорити ваш комп'ютер. будь-який інший монітор пам'яті рекомендується використовувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.