এই ঘটনার আগে কার্নেলটি একগুচ্ছ পদার্থে লগইন করবে, তবে /var/log/messages
এটি কীভাবে (r)syslogd
কনফিগার করা হয়েছে তার উপর নির্ভর করে এর বেশিরভাগ অংশই সম্ভবত থাকবে না । চেষ্টা করুন:
grep oom /var/log/*
grep total_vm /var/log/*
প্রাক্তনটির বেশ কয়েকবার সময় এবং দ্বিতীয়টি কেবল এক বা দুটি স্থানে দেখা উচিত। এই ফাইলটি আপনি দেখতে চান That
যে ফাইলগুলি রয়েছে সেগুলির মধ্যে একটির মধ্যে মূল "মেমরির বাইরে" লাইনটি সন্ধান করুন total_vm
। এই লাইনের আগে ত্রিশ থেকে এক মিনিট (আরও বেশি হতে পারে, কমও হতে পারে) আপনি এর মতো কিছু পাবেন:
kernel: foobar invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
আপনাকে এই জাতীয় শিরোনাম সহ সেই রেখার সাথে "মেমরির বাইরে" লাইনের মধ্যে কোথাও একটি সারণীও খুঁজে পাওয়া উচিত:
[ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name
এটি আপনাকে ইতিমধ্যে জানার চেয়ে আরও বেশি কিছু না জানাতে পারে তবে ক্ষেত্রগুলি হ'ল:
- পিডি প্রক্রিয়া আইডি।
- uid ব্যবহারকারী আইডি।
- tgid থ্রেড গ্রুপ আইডি।
- টোটাল_ভিএম ভার্চুয়াল মেমরি ব্যবহার (4 কেবি পৃষ্ঠায়)
- আরএসএস রেসিডেন্ট মেমোরি ব্যবহার (4 কেবি পৃষ্ঠায়)
- nr_ptes পৃষ্ঠা সারণী এন্ট্রি
- অদলবদল অদলবদল
- oom_score_adj সাধারণত 0; একটি কম সংখ্যার ইঙ্গিত দেয় যে ওওএম কিলারকে ডাকা হলে প্রক্রিয়াটি মারা যাওয়ার সম্ভাবনা কম থাকে।
আপনি বেশিরভাগ উপেক্ষা করতে পারেন nr_ptes
এবং swapents
যদিও আমি বিশ্বাস করি যে এগুলি কে মারা গেছে তা নির্ধারণের কারণ। এটি অগত্যা সর্বাধিক স্মৃতি ব্যবহার করে প্রক্রিয়া নয়, তবে এটি সম্ভবত খুব সম্ভবত। নির্বাচন প্রক্রিয়া সম্পর্কে আরও তথ্যের জন্য, এখানে দেখুন । মূলত, সর্বোচ্চ ওম স্কোর দিয়ে শেষ হওয়া প্রক্রিয়াটি মারা যায় - এটি "মেমরির বাইরে" লাইনে রিপোর্ট করা "স্কোর"; দুর্ভাগ্যক্রমে অন্যান্য স্কোরগুলি প্রতিবেদন করা হয়নি তবে সেই টেবিলটি উপাদানগুলির ক্ষেত্রে কিছু সংকেত সরবরাহ করে।
আবার সম্ভবত এটি সুস্পষ্ট আলোকিত করার চেয়ে আরও বেশি কিছু করবে না: সিস্টেমটি স্মৃতিশক্তি থেকে দূরে mysqld
ছিল এবং মরে যেতে বেছেছিল কারণ এটি হত্যা করা সর্বাধিক সংস্থানকে মুক্তি দেবে । এর অর্থ এই নয় যে mysqld
কোনও ভুল করা। আপনি টেবিলে দেখতে পারেন যে সময়ে অন্য কিছু লাইন থেকে বেরিয়ে গেছে কি না, তবে কোনও পরিষ্কার অপরাধী হতে পারে না: কেবলমাত্র আপনি চলমান প্রক্রিয়াগুলিকে ভুল বুঝায় বা ভুল কনফিগার করেছেন বলে সিস্টেমটি মেমরির বাইরে চলে যেতে পারে।
dmesg
?