Использование VM

S0
На сайте с 24.06.2007
Offline
84
4480

Не могу разобраться, подскажите пожалуйста..

Суть проблемы - сервер начинает активно использовать swap, хотя у него полно свободной памяти (везде пишут, что buffers и cached - свободная память). Из-за этого в определенные моменты появляются тормоза из-за большого iowait, т.к. винты перегружены. Если б система вместо использования swap немного убирала данных из дискового кеша, думаю проблем бы и не было.

uname -a

Linux server.name 2.6.18-274.3.1.el5 #1 SMP Tue Sep 6 20:13:52 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

free -m

total used free shared buffers cached

Mem: 24097 23638 459 0 300 15393

-/+ buffers/cache: 7944 16153

Swap: 12393 2712 9681

vm.swappiness

Сейчас стоит 10, раньше стоял 0. В обоих случаях данные сгружаются в swap.

mount|grep tmpfs

/dev on /dev type tmpfs (rw)

none on /dev/shm type tmpfs (rw,nosuid,noexec,noatime)

none on /var/tmp type tmpfs (rw,nosuid,nodev,noexec,noatime)

df -h

/dev 12G 168K 12G 1% /dev

/dev/sda2 4.7G 199M 4.2G 5% /tmp

/dev/sda3 885G 416G 425G 50% /home

/dev/sdb1 47G 19G 26G 43% /var/lib/mysql

/dev/sdb2 870G 698G 129G 85% /backup

none 2.0G 4.0K 2.0G 1% /dev/shm

none 6.0G 656M 5.4G 11% /var/tmp

* Раньше все три раздела tmpfs не имели указанного size в fstab, и все три имели 12GB. Раздел /dev не стал трогать, для раздела /dev/shm (используется как tmpdir в mysql) поставил 2GB, для раздела /var/tmp (используется под кеш папку eaccelerator + mysql-slow-queries) поставил 6GB.

PS 1*SATA HDD - разбит на /, /home, /tmp, swap. 1*SATA HDD разбит на /var/lib/mysql, /backup. При рестарте mysql iowait зашкаливает, la1 растет почти мгновенно до 25-50, но потом по la5 срабатывает скрипт и отключает nginx на время - из-за этого сервер не уходит в глубокий даун, либо вообще в рестарты постоянные (пока скрипта не было, если вручную не успевал отключать nginx - то сервер вообще приходилось через панельку ребутить).

M
На сайте с 01.12.2009
Offline
235
#1

вы лучше скрин top покажите в момент тормозов.

Кончилась память, кто-то её скушал, начал работать свап, диск загнулся, вроде всё закономерно ;)

Администратор Linux,Freebsd. построения крупных проектов.
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Проверь диск на предмет бэдов через SMART.

Не стоит плодить сущности без необходимости
S0
На сайте с 24.06.2007
Offline
84
#3
madoff:
вы лучше скрин top покажите в момент тормозов.
Кончилась память, кто-то её скушал, начал работать свап, диск загнулся, вроде всё закономерно ;)

Вот график мунина, в свопе 1,5ГБ - куча свободной памяти. До 3ГБ в своп уходило более недели назад, та и пришлось убить swapoff'ом - на месячном графике не видно ничего, но тоже как и сегодня - свободной памяти более чем достаточно.

В процессах было все стандартно - нагрузка от mysqld и процессы httpd. К сожалению, вывода top нету.

Andreyka:
Проверь диск на предмет бэдов через SMART.

Прикрепил вывод smartctl --all по дискам. Вот только не понял, по идеи поверхность диска на бэды так не проверить.. Если можно, то как?:)

png Snap_2012.01.20_17h47m47s_001.png
txt sda.txt
txt sdb.txt
Andreyka
На сайте с 19.02.2005
Offline
822
#4

В смысле перемазанные сектора

Raistlin
На сайте с 01.02.2010
Offline
247
#5

stepan007, БД большие? Не совсем корректно понятие "свободная память". Покажите вообще всю нагрузку (цпу, диск и тп) на графиках мунина. Боюсь, что у вас БД по 20 Гб.

HostAce - Асы в своем деле (http://hostace.ru)
S0
На сайте с 24.06.2007
Offline
84
#6
Raistlin:
stepan007, БД большие? Не совсем корректно понятие "свободная память". Покажите вообще всю нагрузку (цпу, диск и тп) на графиках мунина. Боюсь, что у вас БД по 20 Гб.

Есть базы в 1-1,2ГБ, много мелких. Вообще баз на 20ГБ (было 24, почистили немного) и растут потихоньку.

Основные графики прикрепил.

png Snap_2012.01.21_23h12m51s_002.png
png Snap_2012.01.21_23h14m22s_004.png
png Snap_2012.01.21_23h16m32s_005.png
png Snap_2012.01.21_23h17m34s_006.png
png Snap_2012.01.21_23h19m47s_007.png
M
На сайте с 16.09.2009
Offline
278
#7
stepan007:
vm.swappiness
Сейчас стоит 10, раньше стоял 0. В обоих случаях данные сгружаются в swap.

sysctl -a |grep ^vm

покажите.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
S0
На сайте с 24.06.2007
Offline
84
#8
myhand:
sysctl -a |grep ^vm
покажите.

vm.dirty_background_bytes = 0

vm.dirty_bytes = 0

vm.vm_devzero_optimized = 1

vm.max_reclaims_in_progress = 0

vm.max_writeback_pages = 1024

vm.flush_mmap_pages = 1

vm.pagecache = 100

vm.min_slab_ratio = 5

vm.min_unmapped_ratio = 1

vm.zone_reclaim_interval = 30

vm.zone_reclaim_mode = 0

vm.swap_token_timeout = 300 0

vm.topdown_allocate_fast = 0

vm.legacy_va_layout = 0

vm.vfs_cache_pressure = 100

vm.block_dump = 0

vm.laptop_mode = 0

vm.max_map_count = 65536

vm.percpu_pagelist_fraction = 0

vm.min_free_kbytes = 19916

vm.drop_caches = 1

vm.lowmem_reserve_ratio = 256 256 32

vm.hugetlb_shm_group = 0

vm.nr_hugepages = 0

vm.swappiness = 10

vm.nr_pdflush_threads = 2

vm.dirty_expire_centisecs = 2999

vm.dirty_writeback_centisecs = 14997

vm.mmap_min_addr = 4096

vm.dirty_ratio = 40

vm.dirty_background_ratio = 10

vm.page-cluster = 3

vm.overcommit_ratio = 50

vm.panic_on_oom = 0

vm.overcommit_memory = 0

S0
На сайте с 24.06.2007
Offline
84
#9

Сейчас опять немного в своп сгрузило, прикрепляю top -bn 1

txt top.txt
Raistlin
На сайте с 01.02.2010
Offline
247
#10

а я попрошу my.cnf - в кеше кто-то сидит просто.

---------- Добавлено в 05:08 ---------- Предыдущее сообщение было в 05:06 ----------

Хатя... БД должны быть поболее нагружены... В памяти, скорее всего, именно они и часть ФС что чаще всего используется на чтение.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий