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

Буферный кеш Ubuntu зависает при синхронизации

Я не так силен в linux / unix, поэтому прошу помощи по моей проблеме. У меня сайт на Amazon ec2. Я запускаю apache tomcat mysql на одном большом экземпляре 8 ГБ ОЗУ. База данных довольно большая, но у меня нет проблем с производительностью, а в коробке около 3 ГБ свободной памяти. Я заметил, что примерно раз в час ящик практически зависает, поэтому сайт не отвечает, и даже оболочка ssh работает очень медленно. Я включил мониторинг производительности и заметил, что Amazon сообщает, что каждый час или около того происходят огромные всплески ввода-вывода на диск.

Я использую UBUNTU с версией ядра 2.6.32-305-ec2. Я запустил мониторинг с помощью vmstat и заметил, что в нормальном режиме работы окно сообщает о 1,5 ГБ свободной памяти и 2 ГБ кеша, и кеш постепенно увеличивается. но в какой-то момент кеш начинает расти, занимает всю оперативную память, оставляя около 1 МБ или что-то в этом роде. А затем я вижу множество процессов, ожидающих диска, и все, что зависит от ввода-вывода дисков, зависает. Обычно это длится от 3 до 5 минут. Насколько я понимаю, система сбрасывает кеш на диск и освобождает память, и именно это вызывает весь этот беспорядок. У меня не было этой проблемы, пока я не думаю, что она началась недавно, когда я загрузил гораздо больше данных в mysql. Но, опять же, есть много свободной памяти, это просто управление памятью и кешем с помощью Linux. Я читал, что это должно быть без проблем, и это хорошо, когда есть буферный кеш, но отключение сайта на 5 минут каждый час определенно плохо для меня. Пожалуйста, посоветуйте, какие варианты у меня есть. Я ничего не нашел в Интернете.


Что это vmstat выходы

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0 30      0  45512 134300 4062404    0    0   437   685   31   40 11  4 74  6
 5 31      0  47200 134328 4057136    0    0 28188 15508 1682 2255 13  9  2 66
 3 33      0  46904 134328 4057048    0    0 16761  8785 1099 1523  4  3  0 89
 0 35      0  48440 134344 4054908    0    0 23688 11572 1453 1782  6  3  0 85

Взгляните на Грега Смита Тайна кеша записи в Linux. Возможно, вам потребуется уменьшить dirty_ratio и dirty_background_ratio.