Код:top - 20:43:01 up 8 days, 1:22, 1 user, load average: 0.15, 0.07, 0.01 Tasks: 37 total, 1 running, 36 sleeping, 0 stopped, 0 zombie Cpu(s): 8.3%us, 1.0%sy, 0.0%ni, 90.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st Mem: 524288k total, 510276k used, 14012k free, 0k buffers Swap: 524288k total, 195380k used, 328908k free, 16248k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 27846 mysql 20 0 1024m 358m 3668 S 0 70.0 0:00.75 /usr/sbin/mysqld 26003 www-data 20 0 351m 39m 1076 S 0 7.7 0:07.56 /usr/sbin/apache2 -k start 27507 www-data 20 0 335m 35m 1052 S 0 7.0 0:00.50 /usr/sbin/apache2 -k start
top - 23:26:56 up 2 days, 16:38, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 507612 total, 421432 used, 86180 free, 82768 buffers
KiB Swap: 0 total, 0 used, 0 free. 245388 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
943 mysql 20 0 327860 40628 5824 S 0.0 8.0 1:57.65 mysqld
2785 www-data 20 0 104436 16276 10544 S 0.0 3.2 0:01.41 php5-fpm
904 root 20 0 101852 13912 10888 S 0.0 2.7 0:20.07 php5-fpm
2783 www-data 20 0 101880 6776 3576 S 0.0 1.3 0:01.21 php5-fpm
2787 www-data 20 0 101880 6376 3176 S 0.0 1.3 0:01.19 php5-fpm
Отожрал MySQL. Есть утилита тюнинга. А также есть калькуляторы расчета объема памяти для MySQL.MiksIr, посмотри на вывод top в работе. И сравни с
Именно) Первое что я сделал на своей работе - снес апач, ибо один его процесс выжирал неслабые 40-70Мб оперативки и сервак быренько вываливался в своп.AnrDaemon, может, не надо было на 512 тачку ставить апач просто?
Посмотри предыдущее сообщение. Табличка как раз считает по этим калькуляторам. И результаты сходятся. Как ни пересчитывай. Вот только MySQL плевать хотел на все рассчёты. И при старте отжирает 300-500 мегов. Минут на 10, не больше, но если в системе памяти не хватает, этих 10 минут достаточно, чтобы превратить в часы неработы сервера.Отожрал MySQL. Есть утилита тюнинга. А также есть калькуляторы расчета объема памяти для MySQL.
С этим пониманием как раз всё в порядке, но за ссылки спасибо. Добавил в коллекцию.Понимание разницы между VIRT, RES, SHR, динамические библиотеки
А если вместо prefork MPM поставить event - ещё меньше.Apache там не так много и отожрал. Если выпилить ненужные библиотеки, то будет и меньше .
Никогда с таким не сталкивался. Либо MaxConnection много (а на каждый коннект буферы выделяются, фактически умножать надо кроме пуллов), либо бага какая-то. Версия MySQL, OS?И при старте отжирает 300-500 мегов. Минут на 10, не больше, но если в системе памяти не хватает, этих 10 минут достаточно, чтобы превратить в часы неработы сервера.
root@home:/home/keeper# apt-cache policy mysql-server
mysql-server:
Установлен: (отсутствует)
Кандидат: 5.5.37-1
Таблица версий:
5.5.37-1 0
990 http://http.debian.net/debian/ sid/main amd64 Packages
root@home:/home/keeper# apt-cache policy mysql-server-5.6
mysql-server-5.6:
Установлен: (отсутствует)
Кандидат: 5.6.19-1~exp1
Таблица версий:
5.6.19-1~exp1 0
1 http://http.debian.net/debian/ experimental/main amd64 Packages
Скрипт:Код:2014-08-28-193731 Id User Host db Command Time State Info 19578 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193751 Id User Host db Command Time State Info 19579 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193800 Id User Host db Command Time State Info 19580 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193848 Id User Host db Command Time State Info 96 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193851 Id User Host db Command Time State Info 97 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193852 Id User Host db Command Time State Info 98 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193852 Id User Host db Command Time State Info 99 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193853 Id User Host db Command Time State Info 100 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193853 Id User Host db Command Time State Info 101 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193854 Id User Host db Command Time State Info 102 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193854 Id User Host db Command Time State Info 103 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193854 Id User Host db Command Time State Info 104 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST 2014-08-28-193855 Id User Host db Command Time State Info 105 debian-sys-maint localhost NULL Query 0 init SHOW PROCESSLIST top - 19:38:58 up 9 days, 18 min, 1 user, load average: 0.17, 0.45, 0.70 Tasks: 32 total, 1 running, 31 sleeping, 0 stopped, 0 zombie Cpu(s): 2.6%us, 0.0%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 524288k total, 509528k used, 14760k free, 0k buffers Swap: 524288k total, 41508k used, 482780k free, 62276k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18637 mysql 20 0 1024m 415m 9064 S 0 81.1 0:00.61 /usr/sbin/mysqld 299 bind 20 0 238m 10m 992 S 0 2.0 0:10.45 /usr/sbin/named -u bind
Код:#!/bin/sh mysql -u debian-sys-maint -p"$( grep -Po "(?<=password\s\=\s)\S+" < /etc/mysql/debian.cnf | head -1 )" -e "SHOW VARIABLES; SHOW STATUS;" | tee $HOME/mysql-stats.txt | awk ' { VAR[$1]=$2 } END { MAX_CONN = VAR["max_connections"] MAX_USED_CONN = VAR["Max_used_connections"] BASE_MEM=VAR["key_buffer_size"] + VAR["query_cache_size"] + VAR["innodb_buffer_pool_size"] + VAR["innodb_additional_mem_pool_size"] + VAR["innodb_log_buffer_size"] MEM_PER_CONN=VAR["read_buffer_size"] + VAR["read_rnd_buffer_size"] + VAR["sort_buffer_size"] + VAR["join_buffer_size"] + VAR["binlog_cache_size"] + VAR["thread_stack"] + VAR["tmp_table_size"] MEM_TOTAL_MIN=BASE_MEM + MEM_PER_CONN*MAX_USED_CONN MEM_TOTAL_MAX=BASE_MEM + MEM_PER_CONN*MAX_CONN printf "+------------------------------------------+--------------------+\n" printf "| %40s | %15.3f MB |\n", "key_buffer_size", VAR["key_buffer_size"]/1048576 printf "| %40s | %15.3f MB |\n", "query_cache_size", VAR["query_cache_size"]/1048576 printf "| %40s | %15.3f MB |\n", "innodb_buffer_pool_size", VAR["innodb_buffer_pool_size"]/1048576 printf "| %40s | %15.3f MB |\n", "innodb_additional_mem_pool_size", VAR["innodb_additional_mem_pool_size"]/1048576 printf "| %40s | %15.3f MB |\n", "innodb_log_buffer_size", VAR["innodb_log_buffer_size"]/1048576 printf "+------------------------------------------+--------------------+\n" printf "| %40s | %15.3f MB |\n", "BASE MEMORY", BASE_MEM/1048576 printf "+------------------------------------------+--------------------+\n" printf "| %40s | %15.3f MB |\n", "sort_buffer_size", VAR["sort_buffer_size"]/1048576 printf "| %40s | %15.3f MB |\n", "read_buffer_size", VAR["read_buffer_size"]/1048576 printf "| %40s | %15.3f MB |\n", "read_rnd_buffer_size", VAR["read_rnd_buffer_size"]/1048576 printf "| %40s | %15.3f MB |\n", "join_buffer_size", VAR["join_buffer_size"]/1048576 printf "| %40s | %15.3f MB |\n", "thread_stack", VAR["thread_stack"]/1048576 printf "| %40s | %15.3f MB |\n", "binlog_cache_size", VAR["binlog_cache_size"]/1048576 printf "| %40s | %15.3f MB |\n", "tmp_table_size", VAR["tmp_table_size"]/1048576 printf "+------------------------------------------+--------------------+\n" printf "| %40s | %15.3f MB |\n", "MEMORY PER CONNECTION", MEM_PER_CONN/1048576 printf "+------------------------------------------+--------------------+\n" printf "| %40s | %18d |\n", "Max_used_connections", MAX_USED_CONN printf "| %40s | %18d |\n", "max_connections", MAX_CONN printf "+------------------------------------------+--------------------+\n" printf "| %40s | %15.3f MB |\n", "TOTAL (MIN)", MEM_TOTAL_MIN/1048576 printf "| %40s | %15.3f MB |\n", "TOTAL (MAX)", MEM_TOTAL_MAX/1048576 printf "+------------------------------------------+--------------------+\n" }'