OpenVZ Forum


Home » International » Russian » Проблема с запуском MySQL-server-5.0.15
Проблема с запуском MySQL-server-5.0.15 [message #360] Thu, 17 November 2005 15:41 Go to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Создал виртуальную машину, настройки лимитов по умолчанию, x86_64 CentOS. Поставил туда ftp://ftp.citkit.ru/pub/MySQL/Downloads/MySQL-5.0/MySQL-serv er-5.0.15-0.glibc23.x86_64.rpm

Настройки MySQL умолчательные. При запуске MySQL пишет в свой лог:

051117 18:34:54 mysqld started
InnoDB: Error: pthread_create returned 12
051117 18:34:54 mysqld ended

Прочитал http://bugs.mysql.com/bug.php?id=11875.
Попробовал увеличить лимиты:

vzctl set 26 --numproc 1000:1000 --numtcpsock 1000:1000 --numothersock 200:200 --numfile 64000:64000 --noatime yes --save

Никакого эффекта.

На машине 2Г памяти, диска тоже достаточно. Конфиг виртуальной машины:

VERSION="2"

ONBOOT="yes"
CLASSID="2"

# UBC parameters (in form of barrier:limit)
# Primary parameters
AVNUMPROC="40:40"
NUMPROC="1000:1000"
NUMTCPSOCK="1000:1000"
NUMOTHERSOCK="200:200"
VMGUARPAGES="6144:9223372036854775807"
# Secondary parameters
KMEMSIZE="3194880:3407872"
TCPSNDBUF="319488:524288"
TCPRCVBUF="319488:524288"
OTHERSOCKBUF="132096:336896"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="6144:9223372036854775807"
# Auxiliary parameters
LOCKEDPAGES="32:32"
SHMPAGES="8192:8192"
PRIVVMPAGES="22528:24576"
NUMFILE="64000:64000"
NUMFLOCK="100:110"
NUMPTY="16:16"
NUMSIGINFO="256:256"
DCACHESIZE="524288:548864"

PHYSPAGES="0:9223372036854775807"
NUMIPTENT="128:128"

# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"

# CPU fair sheduler parameter
CPUUNITS="1000"
OFFLINE_MANAGEMENT="yes"
VE_ROOT="/home/vz/root/$VEID"
VE_PRIVATE="/home/vz/private/$VEID"
OSTEMPLATE="centos-4-x86_64-minimal"
ORIGIN_SAMPLE="vps.basic"
IP_ADDRESS="213.248.62.106"
HOSTNAME="zulu.host-ing.ru"
NOATIME="yes"

Подскажите, пожалуйста, как быть в этой ситуации, какую диагностику приводить.
Re: Проблема с запуском MySQL-server-5.0.15 [message #361 is a reply to message #360] Thu, 17 November 2005 15:54 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Если это поможет, вот кусок результата

strace -f ./mysql start

[pid 22478] fcntl(8, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
[pid 22478] fstat(8, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
[pid 22478] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a96da5000
[pid 22478] lseek(8, 0, SEEK_CUR) = 0
[pid 22478] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0) = 0x40000000
[pid 22478] mprotect(0x40000000, 4096, PROT_NONE) = 0
[pid 22478] clone(Process 22479 attached
child_stack=0x40800270, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THRE AD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_
PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x408009f0, tls=0x40800960, child_tidptr=0x408009f0) =
22479
[pid 22478] sched_setscheduler(22479, SCHED_OTHER, { 6 } <unfinished ...>
[pid 22479] futex(0x112e4ac, FUTEX_WAIT, 1, NULL <unfinished ...>
[pid 22478] <... sched_setscheduler resumed> ) = -1 EINVAL (Invalid argument)
[pid 22478] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0) = 0x40801000
[pid 22478] mprotect(0x40801000, 4096, PROT_NONE) = 0
[pid 22478] clone(Process 22480 attached
child_stack=0x41001270, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THRE AD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_
PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x410019f0, tls=0x41001960, child_tidptr=0x410019f0) =
22480
[pid 22478] sched_setscheduler(22480, SCHED_OTHER, { 6 }) = -1 EINVAL (Invalid argument)
[pid 22480] futex(0x112e54c, FUTEX_WAIT, 1, NULL <unfinished ...>
[pid 22478] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0) = -1 ENOMEM (Cannot allocat
e memory)
[pid 22478] mmap(NULL, 8392704, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot al
locate memory)
[pid 22478] write(2, "InnoDB: Error: pthread_create re"..., 42) = 42

Там, вот ENOMEM встречается... Но ведь памяти вроде как должно быть достаточно?
Re: Проблема с запуском MySQL-server-5.0.15 [message #362 is a reply to message #361] Thu, 17 November 2005 16:12 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Опа! Помогло

ulimit -s 2048

Вот отсюда:
http://www.linuxquestions.org/questions/archive/2/2005/05/4/ 307239

Изначально было:
# ulimit -s
stack size (kbytes, -s) 8192

Пожалуйста, объясните, почему УМЕНЬШЕНИЕ размера стека позволяет MySQL запустить больше потоков? Может быть, как-то возможно все же не уменьшать стек, а подкрутить лимиты openvz, чтобы все влезало и со стеком 8М? Уж больно не хочется уходить от умолчательной конфигурации. Мой конфиг с еще чуть-чуть увеличенными лимитами:

VERSION="2"

ONBOOT="yes"
CLASSID="2"

# UBC parameters (in form of barrier:limit)
# Primary parameters
AVNUMPROC="1000:1000"
NUMPROC="1000:1000"
NUMTCPSOCK="1000:1000"
NUMOTHERSOCK="200:200"
VMGUARPAGES="20000:9223372036854775807"
# Secondary parameters
KMEMSIZE="50000000:50000000"
TCPSNDBUF="319488:524288"
TCPRCVBUF="319488:524288"
OTHERSOCKBUF="132096:336896"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="6144:9223372036854775807"
# Auxiliary parameters
LOCKEDPAGES="32:32"
SHMPAGES="8192:8192"
PRIVVMPAGES="22528:24576"
NUMFILE="64000:64000"
NUMFLOCK="100:110"
NUMPTY="16:16"
NUMSIGINFO="256:256"
DCACHESIZE="524288:548864"

PHYSPAGES="0:9223372036854775807"
NUMIPTENT="128:128"

# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"

# CPU fair sheduler parameter
CPUUNITS="1000"
OFFLINE_MANAGEMENT="yes"
VE_ROOT="/home/vz/root/$VEID"
VE_PRIVATE="/home/vz/private/$VEID"
OSTEMPLATE="centos-4-x86_64-minimal"
ORIGIN_SAMPLE="vps.basic"
IP_ADDRESS="213.248.62.106"
HOSTNAME="zulu.host-ing.ru"
NOATIME="yes"


Пожалуйста, скажите, какой из параметров подкручивать?
Re: Проблема с запуском MySQL-server-5.0.15 [message #363 is a reply to message #362] Thu, 17 November 2005 16:56 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

Смотрите в /proc/user_beancounters, по каким у вас параметрам проседает (failcnt > 1 и растёт ) и аккуратно, по чуть-чуть, подкручивайте.

Альтернативный вариант - попытаться подкрутить конфиги MySQL, чтобы он не был столь прожорлив.

Какой вариант использовать - выбирайте в зависимости от имеющихся ресурсов и требуемой от MySQL производительности.


Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: Проблема с запуском MySQL-server-5.0.15 [message #364 is a reply to message #363] Thu, 17 November 2005 17:23 Go to previous message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Спасибо.

Сбоил, оказывается, privvmpages (лимит на ВЕСЬ объем памяти, о котором в манах очень скромно написано, будто бы это козявка какая-то). Там всего-то по умолчанию всытавлено 22528, т.е. около 100 М (если размер страницы 4К, конечно). Этого, естественно, маловато. Расследование показало, что с таким лимитом можно создать всего-то 9 потоков. MySQL-ю нужно значительно больше.
Previous Topic: AMD64?
Next Topic: mount --bind пишет в /etc/mtab недостаточно информации
Goto Forum:
  


Current Time: Sun Aug 11 13:20:06 GMT 2024

Total time taken to generate the page: 0.02920 seconds