• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
گرفتن RAM زیاد mysql
#1
سلام دوستان
روی یک سرور vps وقتی سرویس mysql و start میکنم RAM به سقف میچسبه ! طبیعیه ؟!!!!!!!!!!!
در حالت معمولی قبل استارت سرویس 38٪ از فضای رم اشغاله بعد از استارت میشه 93 -94٪ که اگه چن نفر هم بیان و یه سری بزنن به سایت میشه 99٪ مثه الان که فقط 6M فضا خالی مونده کم مونده کرش کنه Big Grin
RAM = 512MB
/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

key_buffer = 8M
myisam_sort_buffer_size = 8M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 1M
table_cache = 1024
thread_concurrency=2
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1000
connect_timeout = 10
max_allowed_packet = 8M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 8M
#skip-innodb
#skip-locking
join_buffer=1M
#record_buffer=1M
log-bin
server-id=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 8M

[myisamchk]
key_buffer = 8M
sort_buffer = 8M
read_buffer = 8M
write_buffer = 8M


[mysqlhotcopy]
interactive-timeout
[mysql]
no-auto-rehash
safe-updates

که البته اینم فایل کانفیگیه که انجام دادم . نمیدونم مشکل از کجاس !!!!!Huh
در ضمن نمیدونم چرا اون سه لاینی و که کامنت کردم وقتی فعاله سرویس استارت نمشه و FAIL میشه !‌

ممنون میشم اگه راهنمایی کنید .
  پاسخ
تشکر شده توسط :
#2
نسخه mysql چی هست؟
البته الان اینجوری نمیشه تشخیص بدیم که مشکل از کجاست باید روی سرور بود. ولی این کانفیگ ها خیلی ناقصه. یه سری چیزها کمه مخصوصا innodb buffer pool
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۱ مرداد ۱۳, ۰۶:۳۸ ب.ظ)admin نوشته: نسخه mysql چی هست؟
البته الان اینجوری نمیشه تشخیص بدیم که مشکل از کجاست باید روی سرور بود. ولی این کانفیگ ها خیلی ناقصه. یه سری چیزها کمه مخصوصا innodb buffer pool

بله ! ورژنش 5.5.2 هستش
  پاسخ
تشکر شده توسط :
#4
با
free -m
مقدار رو رم ببینید چقدره و اینجا قرار بدین
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۱ مرداد ۱۳, ۰۷:۲۱ ب.ظ)admin نوشته: با
free -m
مقدار رو رم ببینید چقدره و اینجا قرار بدین

خروجی :
total used free shared buffers cached
Mem: 512 509 2 0 0 0
-/+ buffers/cache: 509 2
Swap: 0 0 0
  پاسخ
تشکر شده توسط :
#6
نه مثل اینکه اوضای رم خیلی خرابه
یه کانفیگ کامل برای رم 512 اینه. من کامل میزارم. قسمت های آدرس و مشخصات دیگه که مربوط به سرورت هست رو روش تنظیم کن.
قبلش هم از تنظیمات قبلیت بک آپ بگیر
کد:
[mysql]

# CLIENT #
port                           = 3306
socket                         = /var/lib/mysql/data/mysql.sock

[mysqld]

# GENERAL #
user                           = mysql
default_storage_engine         = InnoDB
socket                         = /var/lib/mysql/data/mysql.sock
pid_file                       = /var/lib/mysql/data/mysql.pid

# MyISAM #
key_buffer_size                = 16M
myisam_recover                 = FORCE,BACKUP

# SAFETY #
max_allowed_packet             = 16M
max_connect_errors             = 1000000

# DATA STORAGE #
datadir                        = /var/lib/mysql/data/

# BINARY LOGGING #
log_bin                        = /var/lib/mysql/data/mysql-bin
expire_logs_days               = 14
sync_binlog                    = 1

# CACHES AND LIMITS #
tmp_table_size                 = 16M
max_heap_table_size            = 16M
query_cache_type               = 0
query_cache_size               = 0
max_connections                = 500
thread_cache_size              = 25
open_files_limit               = 65535
table_definition_cache         = 1024
table_open_cache               = 2048

# INNODB #
innodb_flush_method            = O_DIRECT
innodb_log_files_in_group      = 2
innodb_log_file_size           = 32M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table          = 1
innodb_buffer_pool_size        = 150M

# LOGGING #
log_error                      = /var/lib/mysql/data/mysql-error.log
log_queries_not_using_indexes  = 1
slow_query_log                 = 1
slow_query_log_file            = /var/lib/mysql/data/mysql-slow.log
  پاسخ
تشکر شده توسط : mos_gol2003
#7
[align=left]
[[email protected] etc]# service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h n4-birjandclub.dns.parsdev.net password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

[ OK ]
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[[email protected] etc]# service mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[[email protected] etc]# service httpd stop
Stopping httpd: [ OK ]
[[email protected] etc]# service mysqld start
Starting mysqld: [ OK ]

کلا کرش کرد دیگه !
سرویس مای اس کیو ال و که استاپ کردم شد 159M رم فضای اشغال شده !
بعد از اعمال کانفیگی که فرمودید تا قبل استارت سرویس آپاچی (بعد سرویس مای اس کیو ال ) 460 M گرفته بود ! بعد از استارت 512M دیگه جواب نداد سرور SmileBig Grin Big Grin

واقعا من باید چی کا کنم الان ؟‌Big Grin
الان که init کرده باید پسورد ها و تنظیماتش و دوباره انجام داد دیگه , درسته ؟

ممنونم که وقت گذاشتید....
  پاسخ
تشکر شده توسط :
#8
شما اینقدر این تنظیمات کانفیگ که فضا میگیره رو تغییر بدین تا به نتیجه برسین. خیلی عجیبه که جواب نمیده. من این رو برای 512 قبلا تنظیم کردم
  پاسخ
تشکر شده توسط : mos_gol2003
#9
احتمال میدم دیتابیس هاتون کرش کرده. و ضمانی که دارید استارت می کنید در حال ریکاوری هست برای همین رم رو پر میکنه لاگ ها تون رو نگاه کنید ببینید چه مشکلی هست
  پاسخ
تشکر شده توسط :
#10
(۱۳۹۱ مرداد ۱۴, ۰۱:۲۹ ب.ظ)zoghal نوشته: احتمال میدم دیتابیس هاتون کرش کرده. و ضمانی که دارید استارت می کنید در حال ریکاوری هست برای همین رم رو پر میکنه لاگ ها تون رو نگاه کنید ببینید چه مشکلی هست
اولین فکری که کردم همین بود که نکنه کرش کرده ! دیدم نه ! مشکل از جای دیگه بود کلا !!!!‌

(۱۳۹۱ مرداد ۱۴, ۱۲:۲۰ ق.ظ)admin نوشته: شما اینقدر این تنظیمات کانفیگ که فضا میگیره رو تغییر بدین تا به نتیجه برسین. خیلی عجیبه که جواب نمیده. من این رو برای 512 قبلا تنظیم کردم

خیلی ممنون که راهنمایی کردید . هر چی ور رفتم نشد .آخر یکی از فایل های دیفالت خود مای اس کیو ال برای رم 32-64 و گذاشتم دیدم بازم نه ! گفتم مشکل یه جای دیگس ! گویا نسخه 5.5.2 برای سنت او اس همخونی نداره ! مجبور شدم نسخه ی پایین تر نصب کنم !‌
که الان با نسخه ی 5.1 مشکلی نداره و با همون کانفیگی که دادین و یکم دس کاری البته با اجازه Big Grin به راحتی کار میکنه Big Grin بازم خیلی ممنون ....و سپاس گذار
  پاسخ
تشکر شده توسط : admin


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان