মাইএসকিউএল InnoDB ক্রাশ পোস্ট মর্টেম


28

এই সকালে আমার উপর মাইএসকিউএল ক্রাশ করেছে।

স্ট্যান্ডার্ড মাইএসকিউএল অন্তর্ভুক্ত ডেটাবেসগুলি ব্যতীত আমি যা ব্যবহার করি তা হ'ল ইনোডিবি।

আমি মাইএসকিউএল ডেমন পুনরায় চালু করার চেষ্টা করেছি কিন্তু এটি দুটিবার ব্যর্থ হয়েছিল।

আমি তখন পুরো সার্ভারটি পুনরায় চালু করেছি এবং মাইএসকিউএল সঠিকভাবে শুরু হয়েছিল এবং সেই থেকে ভালভাবে কাজ করে যাচ্ছি।

প্রাথমিক ক্র্যাশের জন্য মাইকিকিএলডি লগ ফাইলটিতে নিম্নলিখিত রয়েছে:

120927 10:21:05 mysqld_safe Number of processes running now: 0
120927 10:21:06 mysqld_safe mysqld restarted
120927 10:21:12 [Note] Plugin 'FEDERATED' is disabled.
120927 10:21:12 InnoDB: The InnoDB memory heap is disabled
120927 10:21:12 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120927 10:21:12 InnoDB: Compressed tables use zlib 1.2.3
120927 10:21:12 InnoDB: Using Linux native AIO
120927 10:21:13 InnoDB: Initializing buffer pool, size = 4.0G
InnoDB: mmap(4395630592 bytes) failed; errno 12
120927 10:21:13 InnoDB: Completed initialization of buffer pool
120927 10:21:13 InnoDB: Fatal error: cannot allocate memory for the buffer pool
120927 10:21:13 [ERROR] Plugin 'InnoDB' init function returned error.
120927 10:21:13 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
120927 10:21:13 [ERROR] Unknown/unsupported storage engine: InnoDB
120927 10:21:13 [ERROR] Aborting

120927 10:21:13 [Note] /usr/libexec/mysqld: Shutdown complete

120927 10:21:13 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

ডেমনটি পুনরায় চালু করার চেষ্টা করার সময় মাইএসকিএলডি লগ ফাইলটি অন্তর্ভুক্ত করে:

120927 10:43:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120927 10:43:44 [Note] Plugin 'FEDERATED' is disabled.
120927 10:43:44 InnoDB: The InnoDB memory heap is disabled
120927 10:43:44 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120927 10:43:44 InnoDB: Compressed tables use zlib 1.2.3
120927 10:43:44 InnoDB: Using Linux native AIO
120927 10:43:44 InnoDB: Initializing buffer pool, size = 4.0G
InnoDB: mmap(4395630592 bytes) failed; errno 12
120927 10:43:44 InnoDB: Completed initialization of buffer pool
120927 10:43:44 InnoDB: Fatal error: cannot allocate memory for the buffer pool
120927 10:43:44 [ERROR] Plugin 'InnoDB' init function returned error.
120927 10:43:44 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
120927 10:43:44 [ERROR] Unknown/unsupported storage engine: InnoDB
120927 10:43:44 [ERROR] Aborting

120927 10:43:44 [Note] /usr/libexec/mysqld: Shutdown complete

120927 10:43:44 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

সার্ভারটি পুনরায় চালু করার পরে মাইএসকিএলডি লগ ফাইলটি রয়েছে:

120927 10:46:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120927 10:46:11 [Note] Plugin 'FEDERATED' is disabled.
120927 10:46:11 InnoDB: The InnoDB memory heap is disabled
120927 10:46:11 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120927 10:46:11 InnoDB: Compressed tables use zlib 1.2.3
120927 10:46:11 InnoDB: Using Linux native AIO
120927 10:46:11 InnoDB: Initializing buffer pool, size = 4.0G
120927 10:46:11 InnoDB: Completed initialization of buffer pool
120927 10:46:12 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
120927 10:46:12  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
120927 10:46:15  InnoDB: Waiting for the background threads to start
120927 10:46:16 InnoDB: 1.1.8 started; log sequence number 57665645675
120927 10:46:16 [Note] Event Scheduler: Loaded 0 events
120927 10:46:16 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.21-cll'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Atomicorp

আমি কখনও ক্র্যাশ মাইএসকিউএল লগ ফাইলটি বোঝার চেষ্টা করিনি।

আমি সংস্করণটি ব্যবহার করছি: 5.5.21-cll মাইএসকিউএল কমিউনিটি সার্ভার (জিপিএল) দ্বারা অ্যাটমিকর্প

আমার কোন ধারণাটি শুরু করা উচিত?

আপডেট: @ মাইকেল-স্ক্লবোটের সুপারিশ থেকে, আমি সিসলগটি টানলাম এবং এটি পেয়েছি:

Sep 27 10:20:58 ip-97-74-197-181 kernel: pcscd invoked oom-killer: gfp_mask=0xd0, order=0, oomkilladj=0
Sep 27 10:21:00 ip-97-74-197-181 kernel:
Sep 27 10:21:00 ip-97-74-197-181 kernel: Call Trace:
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff800c9f35>] out_of_memory+0x8e/0x2f3
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8002dfc7>] __wake_up+0x38/0x4f
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8000f67d>] __alloc_pages+0x27f/0x308
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff80017a84>] cache_grow+0x139/0x3c7
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8005be28>] cache_alloc_refill+0x138/0x188
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8000ad2e>] kmem_cache_alloc+0x6c/0x76
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff80012877>] getname+0x25/0x1c2
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8001a04b>] do_sys_open+0x17/0xbe
Sep 27 10:21:00 ip-97-74-197-181 kernel:  [<ffffffff8005d28d>] tracesys+0xd5/0xe0
Sep 27 10:21:00 ip-97-74-197-181 kernel:
Sep 27 10:21:11 ip-97-74-197-181 kernel: Mem-info:
Sep 27 10:21:20 ip-97-74-197-181 kernel: Node 0 DMA per-cpu:
Sep 27 10:21:27 ip-97-74-197-181 kernel: cpu 0 hot: high 0, batch 1 used:0
Sep 27 10:21:38 ip-97-74-197-181 kernel: cpu 0 cold: high 0, batch 1 used:0
Sep 27 10:21:49 ip-97-74-197-181 kernel: cpu 1 hot: high 0, batch 1 used:0
Sep 27 10:21:49 ip-97-74-197-181 kernel: cpu 1 cold: high 0, batch 1 used:0
Sep 27 10:21:49 ip-97-74-197-181 kernel: cpu 2 hot: high 0, batch 1 used:0
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 2 cold: high 0, batch 1 used:0
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 hot: high 0, batch 1 used:0
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 cold: high 0, batch 1 used:0
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 DMA32 per-cpu:
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 0 hot: high 186, batch 31 used:60
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 0 cold: high 62, batch 15 used:57
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 1 hot: high 186, batch 31 used:139
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 1 cold: high 62, batch 15 used:61
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 2 hot: high 186, batch 31 used:47
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 2 cold: high 62, batch 15 used:57
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 hot: high 186, batch 31 used:52
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 cold: high 62, batch 15 used:53
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 Normal per-cpu:
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 0 hot: high 186, batch 31 used:29
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 0 cold: high 62, batch 15 used:17
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 1 hot: high 186, batch 31 used:178
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 1 cold: high 62, batch 15 used:52
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 2 hot: high 186, batch 31 used:22
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 2 cold: high 62, batch 15 used:59
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 hot: high 186, batch 31 used:71
Sep 27 10:21:52 ip-97-74-197-181 kernel: cpu 3 cold: high 62, batch 15 used:54
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 HighMem per-cpu: empty
Sep 27 10:21:52 ip-97-74-197-181 kernel: Free pages:       41728kB (0kB HighMem)
Sep 27 10:21:52 ip-97-74-197-181 kernel: Active:1031140 inactive:970428 dirty:0 writeback:0 unstable:0 free:10432 slab:4277 mapped-file:801 mapped-anon:1993003 pagetables:11636
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 DMA free:10096kB min:12kB low:12kB high:16kB active:0kB inactive:0kB present:9700kB pages_scanned:0 all_unreclaimable? yes
Sep 27 10:21:52 ip-97-74-197-181 kernel: lowmem_reserve[]: 0 2965 8015 8015
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 DMA32 free:24424kB min:4236kB low:5292kB high:6352kB active:1544164kB inactive:1428756kB present:3037024kB pages_scanned:7185900 all_unreclaimable? yes
Sep 27 10:21:52 ip-97-74-197-181 kernel: lowmem_reserve[]: 0 0 5050 5050
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 Normal free:7208kB min:7212kB low:9012kB high:10816kB active:2580172kB inactive:2453052kB present:5171200kB pages_scanned:12935183 all_unreclaimable? yes
Sep 27 10:21:52 ip-97-74-197-181 kernel: lowmem_reserve[]: 0 0 0 0
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Sep 27 10:21:52 ip-97-74-197-181 kernel: lowmem_reserve[]: 0 0 0 0
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 DMA: 6*4kB 3*8kB 4*16kB 4*32kB 4*64kB 5*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 2*4096kB = 10096kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 DMA32: 24*4kB 3*8kB 1*16kB 1*32kB 1*64kB 3*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 5*4096kB = 24424kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 Normal: 0*4kB 13*8kB 8*16kB 0*32kB 19*64kB 1*128kB 2*256kB 0*512kB 1*1024kB 0*2048kB 1*4096kB = 7208kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Node 0 HighMem: empty
Sep 27 10:21:52 ip-97-74-197-181 kernel: 9391 pagecache pages
Sep 27 10:21:52 ip-97-74-197-181 kernel: Swap cache: add 5745145, delete 5744809, find 81873079/82270945, race 0+63
Sep 27 10:21:52 ip-97-74-197-181 kernel: Free swap  = 0kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Total swap = 2096472kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Free swap:            0kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: 2359296 pages of RAM
Sep 27 10:21:52 ip-97-74-197-181 kernel: 324458 reserved pages
Sep 27 10:21:52 ip-97-74-197-181 kernel: 21388 pages shared
Sep 27 10:21:52 ip-97-74-197-181 kernel: 336 pages swap cached
Sep 27 10:21:52 ip-97-74-197-181 kernel: Out of memory: Killed process 3044, UID 27, (mysqld).

উত্তর:


34

আমার কাছে ভাল খবর, এবং খারাপ খবর আছে। সুসংবাদটি হ'ল, আপনার ফাইল সিস্টেম এবং মাইএসকিএল সম্ভবত সুক্ষ্ম ... তবে আপনার সিস্টেমের মধ্যে আরও কী ঘটছে তা দেখার জন্য / var / log / syslog বা সমতুল্য পরীক্ষা করুন 10:21:05 এর আগে।

আপনার পোস্ট করা প্রথম বার্তাটি যখন লগ হয়েছিল তখন আপনার মাইএসকিএল সার্ভারটি ইতিমধ্যে মারা গিয়েছিল।

120927 10:21:05 mysqld_safe Number of processes running now: 0

সুতরাং, ধরে নিয়েছি যে আপনি মাইএসকিএল ত্রুটি লগতে কোনও কিছুই উপেক্ষা করেন নি, আমি বলব এটি ক্র্যাশ হয়ে মারা যায় নি - এটি আসলে মারা গিয়েছিল।

যখন mysqld_safe (যা একটি মোড়ক, সার্ভার নিজেই নয়) যখন বুঝতে পেরেছিল যে সার্ভারটি চলছে না, এবং সার্ভারটি নিখুঁতভাবে শেষ হয়নি, তখন এটি আপনার জন্য এটি পুনরায় চালু করে ...

120927 10:21:06 mysqld_safe mysqld restarted

... তারপরে সার্ভার ডেমন কিছু সাধারণ সূচনা বার্তা লগইন করেছে ...

120927 10:21:12 [Note] Plugin 'FEDERATED' is disabled.
120927 10:21:12 InnoDB: The InnoDB memory heap is disabled
120927 10:21:12 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120927 10:21:12 InnoDB: Compressed tables use zlib 1.2.3
120927 10:21:12 InnoDB: Using Linux native AIO

... তবে যখন মাইএসকিএলডি অপারেটিং সিস্টেমকে ইনোডিবি বাফার পুলের জন্য 4 গিগাবাইট মেমরি বরাদ্দ করতে বলে ...

120927 10:21:13 InnoDB: Initializing buffer pool, size = 4.0G

... কার্নেলটি "না" বলেছিল।

InnoDB: mmap(4395630592 bytes) failed; errno 12

নিশ্চিত হওয়ার জন্য কার্নেল উত্সটি পরীক্ষা করা হচ্ছে:

#define ENOMEM      12  /* Out of memory */

হ্যাঁ। সুতরাং, "ব্যর্থ; errno 12" লাইনের নীচে প্রতিটি বার্তা উপেক্ষা করা উচিত - এগুলি এর সমস্ত পার্শ্ব প্রতিক্রিয়া।

তবে আবার, এই সমস্ত কিছুই প্রথম ক্র্যাশের পরে ঘটেছিল ।

আমার সর্বোত্তম অনুমান যে চরম স্বল্প স্মৃতিশক্তি অবস্থার কারণে সিস্টেমটি স্থিতিশীল করার প্রয়াসে আপনার কর্নেলটি মাইএসকিএলএলটি মূলত হত্যা করেছিল।

স্বাভাবিকভাবেই, স্মৃতি ঘাটতির কারণ যা ঘটেছিল তা রিবুটের পরে চলে গেছে। মাইএসকিএল সার্ভার InnoDB বাফার পুলের জন্য 4 গিগাবাইট বরাদ্দ করতে সক্ষম হয়েছিল এবং যতক্ষণ না আপনাকে মেমরির কারণ হয়ে দাঁড়ায় তা আবার না ঘটানো পর্যন্ত সমস্ত কিছু ভাল হওয়া উচিত।

প্রথম অনুমান: অ্যাপাচি চাইল্ড প্রসেসগুলি অ্যামোক চলমান।


3

সম্প্রতি আমার সাথে এটি ঘটেছে এবং আমাকে কী ঘটছে তা বুঝতে সাহায্য করার জন্য এই থ্রেডটি অমূল্য হয়েছে।

আমি 1GB রাম সহ উবুন্টু 14.04 এ একটি এলএএমপি স্ট্যাক চালাচ্ছি। ওয়েব ট্র্যাফিক স্পাইকের কারণে আমার সার্ভার ক্রাশ করে চলেছে। আমার জন্য, মাইএসকিএল কনফিগারেশন ফাইলের সাথে ঝাঁকুনি দিয়ে আমি আরও একটি এলোমেলো ক্র্যাশ অনুভব করেছি এমন সময়ের পরিমাণ বাড়িয়েছে। এটি পরীক্ষা ও ঠিক করার জন্য, আমি শেষ পর্যন্ত অ্যাপাচের অ্যাব সরঞ্জামটি ব্যবহার করেছি:

ab -n 100 -c 10 http://gastonia.com/

10 সম্মতি (-c) ঠিক ছিল, তাই বর্ধিত যে আমি 30 - বাম - ক্র্যাশ না হওয়া পর্যন্ত বর্ধিত করেছি until সুরক্ষিত একটি নম্বর না পাওয়া পর্যন্ত আমি ব্যাক আপ করেছি এবং তারপরে আমি অ্যাপাচের সার্ভারলিমিট নির্দেশকে সামঞ্জস্য করেছি:

সার্ভারলিমিট 20

এরপরে আমি যে কোনও সংখ্যায় চাই-সি পরিবর্তন করতে পারতাম এবং এখনও আমার অন্য ক্রাশের অভিজ্ঞতা রয়েছে।

আশাকরি যে একই সমস্যা অভিজ্ঞ যে কেউ সহায়ক।


তোমাকে অনেক ধন্যবাদ! আমি মাইএসকিউএল দিয়ে আমার চুল ছিঁড়ে ফেলছিলাম। আমি যখন এই প্রক্রিয়াটি দেখেছিলাম তখন এটি আমার দৃশ্যের জন্য সম্ভবত সম্ভব ছিল। আমি এটি চেষ্টা করেছিলাম এবং এটি পরীক্ষায় বর্ণিত হিসাবে ঠিক কাজ করেছে!
zkarj

1

রহস্যজনক মাইএসকিএল_সেফের পুনঃসূচনা হওয়ার পরে এলোমেলো বিরতিতে মূলত পোস্ট ইন প্লাস্টিক রেনারিং ইনোডিবি দুর্নীতির মতোই আমার একই সমস্যা ছিল।

আমি প্রথমে অ্যাপাচি বন্ধ করে MySQL পুনরায় আরম্ভ করতে সক্ষম হয়েছি।

এই পোস্টটি পড়ার পরে আমি আমার সিসলোগ লগগুলিতে সন্ধান করেছি এবং আমি পেয়েছি: কার্নেল: মেমরির বাইরে: কিল প্রসেস 19468 (মাইএসকিএলডি) স্কোর 256 বা আত্মত্যাগমূলক রহস্যজনক মাইএসকিএল ক্র্যাশের সাথে একই টাইমস্ট্যাম্প সহ sacrifice

আমি এটি ট্র্যাফিকের বিস্ফোরণ এবং httpd (অ্যাপাচি) প্রক্রিয়াগুলির স্ট্যাকের সাথেও মিলেছি। আমি নির্দোষ ডিবি পুলের আকারটি হ্রাস করেছি, অদলবদলের আকারটি কিছুটা বাড়িয়েছি এবং সেক্ষেত্রে সর্বাধিক সংখ্যক অ্যাপাচি প্রক্রিয়া ক্যাপড করেছি।


0

যখন আপনি পেয়েছেন

Sep 27 10:21:52 ip-97-74-197-181 kernel: Swap cache: add 5745145, delete 5744809, find 81873079/82270945, race 0+63
Sep 27 10:21:52 ip-97-74-197-181 kernel: Free swap  = 0kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Total swap = 2096472kB
Sep 27 10:21:52 ip-97-74-197-181 kernel: Free swap:            0kB

আপনার স্মৃতি এবং অদলবদু খাওয়ার প্রক্রিয়াগুলি সনাক্ত করার চেষ্টা করুন:

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

তারপরে তাদের সকলকে হত্যা করুন:

ps -ef | grep eatingprocess |  grep -v grep  |  awk '{print $2}' | xargs kill -9
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.