মাইএসকিউএল (মারিয়াডিবি) প্রায়শই ক্র্যাশ হয়


9

আমি সম্প্রতি মাইএসকিউএল চালিত একটি পুরানো সার্ভারটি একটি নতুন ভিপিএসে মারিয়াডিবি 5.5-তে চালিত করেছি। আমার সার্ভারে খুব বেশি চলমান নেই (কেবলমাত্র কয়েকটি পিএইচপি সাইট) এবং ফ্রি মেমরিটি ঠিক আছে বলে মনে হয়, তবে ডিবি ক্র্যাশ করে চলে - কখনও কখনও প্রতি কয়েকদিনে, কয়েক ঘন্টাের মধ্যে অন্য সময়।

লগগুলিতে আমি নিম্নলিখিত ত্রুটিগুলি পেয়েছি:

131231  1:43:04 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
131231  1:43:04 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)
131231  1:43:04 [ERROR] mysqld: Out of memory (Needed 72499200 bytes)
131231  1:43:04 [ERROR] mysqld: Out of memory (Needed 54362112 bytes)
131231  1:43:04 InnoDB: The InnoDB memory heap is disabled
131231  1:43:04 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131231  1:43:04 InnoDB: Compressed tables use zlib 1.2.3.4
131231  1:43:04 InnoDB: Using Linux native AIO
131231  1:43:04 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137756672 bytes) failed; errno 12
131231  1:43:04 InnoDB: Completed initialization of buffer pool
131231  1:43:04 InnoDB: Fatal error: cannot allocate memory for the buffer pool
131231  1:43:04 [ERROR] Plugin 'InnoDB' init function returned error.
131231  1:43:04 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
131231  1:43:04 [Note] Plugin 'FEEDBACK' is disabled.
131231  1:43:04 [ERROR] Unknown/unsupported storage engine: InnoDB
131231  1:43:04 [ERROR] Aborting

131231  1:43:04 [Note] /usr/sbin/mysqld: Shutdown complete

আমি InnoDB হ্যাপের জন্য my.cnf সেটিংস দিয়ে খেলেছি, যা দেখে মনে হয় না। এখানে প্রাসঙ্গিক অংশ:

innodb_buffer_pool_size = 128M
innodb_log_buffer_size  = 8M
innodb_file_per_table   = 1
innodb_open_files       = 400
innodb_io_capacity      = 400
innodb_flush_method     = O_DIRECT

আমার কাছে মনে হয় "প্রচুর পরিমাণে" নিখরচায় র‍্যাম রয়েছে এবং আমার কিছু অদলবদলও পাওয়া যায়:

root@phoenix:~# free -m
             total       used       free     shared    buffers     cached
Mem:           994        923         71          0         19        417
-/+ buffers/cache:        486        508
Swap:         1023        131        892

আমি কীভাবে এই সমস্যাটিকে সমাধান / সমস্যার সমাধান করতে পারি? আমি ক্লুগুলির জন্য ইন্টারভেবিজকে স্ক্রোল করেছি, তবে কিছুই সাহায্য করেনি।


1
ক্রাশ হওয়ার আগে স্মৃতিটি ঠিক কেমন দেখাচ্ছে? [ERROR] mysqld: Out of memoryনিশ্চিত সৌন্দর্য একটি শক্তিশালী ইঙ্গিত পছন্দ করি। কার্নেল (OOM) মাইএসকিএল হত্যার সিদ্ধান্ত নিয়েছে কিনা তা পরীক্ষা করার জন্য আপনি কি আপনার সিস্টেম লগগুলি পরীক্ষা করেছেন?
জোরদাছে

ক্রাশের আগে এবং পরে উভয়ই ব্যবহৃত ফাইল হ্যান্ডলগুলি এবং ব্যবহৃত মেমরিটি লগ করা উচিত (ক্র্যাশটি topপ্রতিটি অন্তর অন্তর ডাম্প এমনকি কমান্ডও) ক্রাশের কারণ হতে পারে তা জানতে। মাইএসকিএল (মারিয়াডবি) এর মতো আপনার সার্ভারগুলিতে চালিত অন্য কোনও পরিষেবা?
আশ্বিন কুমার

1
ডিবিএর পক্ষে সত্যিই দুর্দান্ত উত্তর রয়েছে যা সহায়ক বলে মনে হচ্ছে: dba.stackexchange.com/questions/1927/…
ম্যাট হামান

পারফরম্যান্স_স্কেমা = বন্ধ করে দেখুন?

উত্তর:


9

আমি আশা করি এটি আপনার পক্ষে সহায়ক হবে।

চেষ্টা

performance_schema = off

মধ্যে [mysqld]আপনার কনফিগারেশন বিভাগে।

https://mariadb.com/resources/blog/starting-mysql-on-low-memory-virtual-machines/


এটি চেষ্টা করে দেখুন। ধারাবাহিকভাবে চলতে এবং চালিয়ে যাওয়ার জন্য আমি পরিষেবাটি কয়েক দিন দেওয়ার পরে শীঘ্রই ফিরে রিপোর্ট করব।
ম্যাট হামান

বেশ কিছুটা সাহায্য করেছে বলে মনে হচ্ছে। 100% সমাধান হয়েছে তা নিশ্চিত নয়, তবে আমি এটি সামঞ্জস্য করার পরে এটি বেশ ভাল চলছে। ধন্যবাদ।
ম্যাট হামান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.