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

Высокое использование памяти на сервере Linux

У меня есть сервер LAMP со следующей конфигурацией.

Процессор: Intel (R) Xeon (R) CPU

Оперативная память: 32 ГБ

HDD: 80 ГБ

Работает в виртуальной среде.

Все вещи на сервере работают без сбоев. Но я заметил, что использование ОЗУ сервером увеличивается с каждым днем ​​без всякой причины.

Это текущее использование памяти на моем сервере.

# free -g
             total       used       free     shared    buffers     cached
Mem:            31         13         17          0          0         10
-/+ buffers/cache:          1         29
Swap:            2          0          2

Ниже вы можете увидеть использование памяти за последние 8 недель. http://i.stack.imgur.com/543jh.png

И я выполнил следующую команду, чтобы узнать, сколько памяти потребляет каждый процесс.

# ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'
         0.00 Mb COMMAND 
      2253.62 Mb /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock 
      1171.66 Mb java -jar /etc/vmagent/bin/VMAgent.jar 
       138.27 Mb /sbin/audispd 
       127.75 Mb /usr/sbin/named -u named -c /etc/named.conf -u named -t /var/named/run-root 
        74.29 Mb auditd 
        73.03 Mb automount 
        43.14 Mb /usr/bin/spamd --username=popuser --daemonize --nouser-config --helper-home-dir=/var/qmail --max-children 5 --create-prefs --virtual-config-dir=/var/qmail/mailnames/%d/%l/.spamassassin --pidfile=/var/run/spamd/spamd_full.pid --socketpath=/tmp/spamd_full.sock 
        43.14 Mb spamd child 
        43.14 Mb spamd child 
        37.13 Mb /usr/sbin/httpd 
        37.02 Mb /usr/sbin/httpd 
        36.52 Mb /usr/sbin/httpd 
        36.46 Mb /usr/sbin/httpd 
        36.23 Mb /usr/sbin/httpd ................

Для устранения неполадок я перезапустил серверы MySQL и APACHE. Но результат был таким же. Перезапуск всего сервера решит проблему, но я хочу знать, в чем проблема.

Дайте мне знать, если у вас есть какие-либо представления об этой проблеме.

Спасибо,

Арун С

Это совершенно нормально. Если вы хотите, чтобы память не использовалась, выньте ее из сервера и положите на свой стол. Свободная память - это потраченная впустую память.

Linux, как и большинство современных операционных систем, может напрямую передавать память от одного использования к другому. Сделать его бесплатным посередине связано с расходами, но не с преимуществами. Так что разумные операционные системы не делают этого без крайней необходимости.

Свободная память нужна только в некоторых очень специфических случаях. Например, свободная память необходима для временного хранения данных, полученных по сети, до тех пор, пока ОС не сможет их обработать. Поскольку свободная память связана с высокими затратами (это как если бы этой памяти не было с точки зрения производительности), система сохраняет свободным только столько памяти, сколько необходимо для этих особых ситуаций.

-/+ buffers/cache: 1

Вы с помощью всего 1 ГБ. Остальное - это системный кеш.