Əsas səhifə > Linux, MySQL administration > innodb_buffer_pool_size ERROR in Fedora 17

innodb_buffer_pool_size ERROR in Fedora 17

Deməli dünən gecə
innodb_buffer_pool_size -ı artırmaq istədikdə MySQL 5.5 start olunmadı və eləcə qaldı…Yani heç bir ERROR mesajı filan da verilmədiyindən biraz çətinlik yaratdı.
Məndə i3-350M processor və 3GB memory var. 32 bit-lik Fedora 17 istifadə edirəm. Zənnimcə 3 RAM üçün 32 bitlik OS yaxşı seçim olmalı idi.
Documentation-da deyilir ki, innodb_buffer_pool_size-ı memory-nin 80%-nə qədər artırmaq mümkündü. Bəlkə də bunu 64 bitlik sistemlər üçün deyiblər çünki x32-də bu % doğru deyil.
Mən də documentation-a qulaq asdım… və müəyyən elədim ki Fedora 17 mənim memory-mi tamamilə doğru görür:

[root@sh ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2950       1441       1508          0         65        622
-/+ buffers/cache:        754       2195
Swap:         4991          0       4991

Çünki məsələn 6 GB-lıq memory ilə x32 istifadə etdikdə max 3.5-ni görəcək ən azından belə şayələr var.

Həmçinin system manitor-da da hər şey yolunda görünür.

Bəli keçək işə..
2.9-un 80%-i=2.32. Yəni burdan belə nəticə çıxarmaq olar ki, innodb_buffer_pool_size=2.32GB verə bilərəm. Amma mən o qədər yox ilk öncə 1.9 GB verdim. Bu çox asan bir şeydir. my.cnf faylında [mysqld] kataloqunun altına innodb_buffer_pool_size=2040109465 (byte-la yazıram. 1.9 gb=2040109465 byte) yazırıq.
my.cnf default olaraq yerləşir /etc/my.cnf
Sizin my.cnf faylınızın harda yerləşdiyini öyrənmək üçün:

[root@sh ~]# mysql --verbose --help
mysql  Ver 14.14 Distrib 5.5.28, for Linux (i686) using readline 5.1
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
.
.
.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

my.cnf-i Yuxarıdakı directory-lərdən birində tapa biləcəksiz.

Bəli innodb_buffer_pool_size=2040109465-i eyd etdikdən sonra server-imizi stop\start edirik. Və dəhşətli mənzərə:
Terminaldan start edərkən belə:

[root@sh ~]# systemctl start mysqld.service
Job failed. See system journal and 'systemctl status' for details.

MySQL Workbench-dən start edərkən isə
Checked server status: Server is stopped.

Yəni heç bir hadisə baş vermir.Çox pis təsir edir adama😛

Dərhal log-lara nəzər salmaq lazımdı təbii ki. mysqld.log yerləşir /var/log/mysqld.log
Log-da yazılan hər şeyi aydın edir:

121201 12:13:07 InnoDB: Fatal error: cannot allocate memory for the buffer pool

Bəli indi isə 1.8 GB verək. innodb_buffer_pool_size=1932735283 (yenə byte-la). Və yenə də eyni ERROR

Və ən nəhayət 1.7 GB verək. innodb_buffer_pool_size=1825361100

Nəhayət ki üzümüz güldü😀

İndi isə ümumiləşdirmə aparaq.
2.9-un 80%-i=2.32 etdiyi halda bizim i3-350 M 3 GB-lıq x32 Fedora 17 sistemimiz İnnoDB buffer pool üçün yalnızca 1.7gb ayıra bildi.
1.7 isə 2.9-un 58.62%-dir. Deməli ki bu cür mənim sistemimə oxşar sistemlər üçün 80% yox ən çoxu 58% hesablamaq lazımdır. Əks halda buna oxşar crash-lar qaçınılmaz olacaq

Təşəkkürlər🙂

  1. Hələlik heç bir şərh yoxdur
  1. No trackbacks yet.

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma

%d bloqqer bunu bəyənir: