Tenho o servidor MySQL Ver 14.12 Distrib 5.0.45 em execução no Multiflex Intel Blade com 8G de RAM & 8 x CPU Intel® Xeon® E5410 a 2.33GHz.
Os problemas que estou enfrentando são:
Nos últimos 3-4 dias, meu espaço de troca 2G está ficando cheio & o servidor entra em estado suspenso e eu preciso reinicializar o servidor a cada vez.
Saída de free -m
:
total used free shared buffers cached
Mem: 7971 933 7037 0 0 800
-/+ buffers/cache: 132 7838
Swap: 1983 785 1198
Eu adicionei 2G mais espaço de troca, mas ainda existe problema.
/usr/local/mysql/bin/mysql -uroot -p -e "show variables like '%cache%';"
:
+------------------------------+----------------------+
| Variable_name | Value |
| binlog_cache_size | 32768 |
| have_query_cache | YES |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| max_binlog_cache_size | 18446744073709551615 |
| ndb_cache_check_time | 0 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 536870912 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| table_cache | 1024 |
| thread_cache_size | 16 |
Alguma sugestão?
Este é um ótimo artigo sobre como o Linux O kernel manipula o espaço de troca. "swappiness", ou a probabilidade de que o kernel troque programas grandes em espaço de troca pode ser diminuído para que o espaço de troca não seja preferido em relação à RAM.
Ecoando um valor de 0-100 para / proc / sys / vm / swappiness fará com que o kernel troque menos ou mais dependendo do valor. O padrão é 60. Eu recomendaria algo como 40-50.
Você pode querer reduzir a quantidade de espaço de troca, já que esse gargalo pode ser o estado "enforcado" que você descreve.