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

На сервере мало свободной памяти, несмотря на очевидное низкое использование памяти в пользовательском пространстве.

Сервер Linux, которым я администрирую, в последнее время испытывает серьезное снижение производительности, что особенно заметно через несколько недель после каждой перезагрузки. В частности, для заданий Jenkins, выделенных машине, начинается тайм-аут через несколько недель после перезагрузки, после чего все выполнение становится вялым, например ssh требует 10-15 секунд для подключения к машине.

Выход uname команда

root@_____:~# uname -a
Linux _____ 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Смотря на vmstat и free Похоже, что почти вся физическая память машины используется, мало используется для кэширования и мало используется своп.

root@_____:~# free -m
         total       used       free     shared    buffers     cached
Mem:          3865       3686        179          0         12        282
-/+ buffers/cache:       3391        473
Swap:         4102        504       3597

root@_____:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  2 953288 217960   6344 232268   41   35   111   106    0    0 42  3 52  3  0

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

root@moose:~# ps aux --sort -rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
regress+  6766 13.1  6.1 1894448 245188 ?      Sl   10:10   5:25 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java _____
regress+ 22796  1.1  3.1 2552832 126600 ?      Sl   Apr07  11:17 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java _____
regress+ 17199  0.6  0.5 188952 23560 ?        Dl   10:51   0:00 _____
regress+ 23497  0.5  0.5 3057724 21764 ?       Sl   06:26   1:29 java _____

Моя теория на данный момент заключается в том, что какая-то утечка ресурсов заблокировала большие блоки физической памяти, что привело к сбою и замедлению работы системы. Это вероятная причина снижения производительности? Если да, то как мне лучше всего решить эту проблему, а если нет, то какова еще одна вероятная причина проблемы?

Загружены ли какие-нибудь нестандартные модули ядра? Выделения ядра могут занимать память.