Назад | Перейти на главную страницу

Использование большой памяти Linux (верхнее полное несоответствие)

У меня бедный mans vps - 256MB выделенной RAM. Я установил ЛАМПУ. В настоящее время на сервере не работает ни один веб-сайт.

Использование памяти по-прежнему составляет 225 МБ (свободно только 31 МБ).

Я измерил топ и другим методом. Топ говорит, что использовано около 225 МБ, но если я суммирую процессы, получается только 20%.

Другой сценарий, который я использую для измерения памяти:

#!/bin/bash
bean=`cat /proc/user_beancounters`
guar=`echo "$bean" | grep vmguar | awk '{ print $4;}'`
priv=`echo "$bean" | grep privvm | awk '{ print $2;}'`
let totl=guar/256
let used=priv/256
let free=$totl-$used
echo "VPS Memory:"
echo "  total: $totl mb   used: $used mb   free: $free mb"

дает тот же результат (используется 225 МБ).

Я перезагрузил сервер, но все еще используется 225 МБ памяти. Как я могу найти виновника процесса. пожалуйста помоги!

============

Вывод команды ps efax -o, vsize, rss,% mem, size указывает на то, что только 20% (около 50 МБ) фактически используется процессами.

(apt-get install imagemagick не работает из-за нехватки оперативной памяти. Думаю, мне нужно использовать более высокую память, например 512 МБ. Я думал, что сбой может быть из-за этого «ложного» использования памяти).

Есть ли способ узнать, действительно ли память доступна в качестве кеша (вверху показано значение buffer / cach как 0 - я слышал, что если бы оперативная память была доступна как кеш, она бы отображалась как «буферы или кеш»).

Вывод free -m:

free -m
             total       used       free     shared    buffers     cached
Mem:           256        226         29          0          0          0
-/+ buffers/cache:        226         29
Swap:            0          0          0

Он показывает свободные буферы / кеш также как на 29 МБ :(

Linux будет использовать столько оперативной памяти, сколько сможет, в качестве кеша, который будет отключен, если другим процессам потребуется больше памяти. Посмотри Вот для получения дополнительной информации.

попробуйте использовать по следующей ссылке, как использовать какой процесс и обновить обратно

http://studyhat.blogspot.com/2010/09/memory-use-by-which-process-centos-rhel.html

Попробуйте эти команды

топ -n 1

или

ps efax -o command, vsize, rss,% mem, size

Ответы на этот вопрос на superuser.com также могут помочь. "Как я могу отобразить использование памяти каждым процессом, если я выполняю ps ef"

Ребята, спасибо всем за ответ. Оказалось, что mysql использует 139 МБ «виртуальной памяти». Поскольку на моем VPS не включен SWAP, виртуальная память была взята из ОЗУ.

(И TOP не отображает виртуальную память в столбце% использования - поэтому пропустил это полностью!).

Сделал две хорошие вещи для уменьшения требований к памяти:

1) skipd-innodb в /etc/mysql/my.cnf 2) системный ulimit 256 в / etc / rc

(Раньше он был неограниченным, вызывая огромный объем памяти).

ура, JP