Задавайте вопросы, мы ответим
Вы не зашли.
Неактивен
Своп в этом месте — плохо, конечно. MySQL рассчитывает на то, что память
работает быстрее диска. Если память работает со скоростью диска, то все
планы выполнения запросов можно выбросить на помойку. Уменьшение коли-
чества занимаемой MySQL памяти в данном случае должно увеличить произ-
водительность
Это не честный top. В обычном top — одна, а тут Вы видите потоки.
Неактивен
Сейчас уже 12й день аптайма и ситуация немного изменилась.
RAM - 700\1009MB
SWAP - 547\2000MB
Подскажите что делать в этом случае, что и в какую сторону крутить?
my.cnf написал:
[root@hawk ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"
back_log = 50
max_connections = 100
max_connect_errors = 10
table_open_cache = 2048
max_allowed_packet = 16M
#binlog_cache_size = 1M
max_heap_table_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
thread_concurrency = 16
query_cache_size = 64M
query_cache_limit = 2M
ft_min_word_len = 4
default-storage-engine = INNODB
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
slow_query_log
long_query_time = 2
server-id = 1
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2G
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_write_io_threads = 8
#innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_files_in_group = 5
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"
[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"
[root@hawk ~]#
Неактивен
innodb_buffer_pool_size = 2G
При гигабайте ОЗУ на машинке — это круто
Неактивен
Упс
Лимит выставлен в уровень с физически имеющейся оперативкой, как быть дальше?
Что нужно крутить чтобы в памяти держалась актуальная информация а не попросту забивалась отработаными кешированными данными?
Неактивен
Какая информация считается актуальной? Как Вы хотите ее отличать?
Неактивен
Затрудняюсь ответить.
Вот сервер работает и память забивается кешем, через время (в виду небольшого обьема памяти) - её т.е. памяти не останется вовсе (допустим лимит памяти в конфиге стоит впритык 1G).
Сервер полезет в своп или будет очищать неактуальный кеш?
Неактивен
Не будет. Сервер крутится сам в том объеме оперативной памяти, который
Вы указываете. На выделенном под базу сервере не имеет смысл ставить
параметр innodb_buffer_pool_size больше 60-70% ОЗУ. Если сервер выпол-
няет еще какие-то задачи — надо еще уменьшать этот параметр.
Неактивен
Спасибо вам.
Неактивен