কীভাবে এ্যাপ-চেক চলার এতগুলি ঘটনা প্রতিরোধ করবেন?


18

আমার কাছে একটি উবুন্টু 12.04 সার্ভার রয়েছে যা কেবলমাত্র খুব স্পষ্ট কারণের কারণে ক্র্যাশ হয়েছে: 30+ apt-checkপ্রসেস সমস্ত মেমরি গ্রাস করে, ওওএম হত্যাকারী লাথি মেরে, অত্যাবশ্যক পরিষেবাগুলিকে হত্যা করে। apt-checkপ্রক্রিয়াগুলি কোথা থেকে এসেছে তা আমি নিশ্চিত নই , তবে আমি অনুমান করি আমার নাগিওস / আইসিংগা প্লাগইনগুলি check_aptএটি ব্যবহার করতে পারে, পাশাপাশি byobuস্থিতি রেখাটি তার আউটপুটটি প্রদর্শন করতে পারে। আমি অনুমান করি যে কিছু লক হয়ে গেছে এবং সমস্ত প্রক্রিয়া সবেমাত্র অপেক্ষা করছিল, তবুও স্মৃতি ধারণ করে।

apt-checkসিস্টেমে এত উদাহরণ থাকা কীভাবে আমি রোধ করতে পারি ? এটি আমার কাছে বোধগম্য নয় এবং এটি dpkg ডাটাবেসে কোনও পঠিত লক না পাওয়া মাত্রই ছেড়ে দেওয়া উচিত।

দেখে মনে হচ্ছে যে আমি এখানে একমাত্র সমস্যায় পড়ছি না। এর জন্য সমস্ত পরামর্শগুলি apt-checkবেশ নেতিবাচক:

এখানে চিত্র বর্ণনা লিখুন

(পরিষ্কার ব্রাউজার, লগ ইন নেই, কোনও ব্যক্তিগতকৃত অনুসন্ধান)

উত্তর:


8

কিছু ডুব apt-checkদিয়েছিলেন এই ক্লুগুলির এটি খুব কড়া স্ক্রিপ্ট হওয়ার জন্য আমাকে এই ক্লুগুলি দিয়েছিলেন যা ফিক্সিংয়ের প্রয়োজন। এর লেখকদের প্রতি যথাযথ সম্মান সহ, এটি আমার সার্ভারগুলিতে ব্যর্থ হচ্ছে। আমার মতামত এখানে:

  • apt-check == /usr/lib/update-notifier/apt_check.py
  • নিজের জন্য সুন্দর 19 জোর করে
  • কর্মের সময়সীমা নির্ধারণ করা হয়নি

শেষ দুটিটির সংমিশ্রণ এটিকে নিচের দিকে একটি সর্পিলে অবিরাম স্তূপে প্রবেশ করতে দেয়। সিস্টেমটি যদি উচ্চতর অগ্রাধিকার সহ অন্য কোনও উদ্দেশ্যে ব্যবহৃত হয়, তবে প্রক্রিয়াগুলির পরিমাণ কেবল বৃদ্ধি পাবে এবং এর কোনও শেষ নেই, কারণ এটি এর আগে apt-checkকোনও অগ্রাধিকার পাবে না। OOM হত্যাকারী আপনার অত্যাবশ্যক সিস্টেম প্রক্রিয়াগুলি মেরে ফেলার সিদ্ধান্ত নেওয়ার পরে কেবল সমস্যাটি আরও খারাপ হবে।

আচরণে এই দু'টি দিকই যদি আলাদা হয় তবে এটি সিস্টেমটিকে এইরকম ভাঙা অবস্থায় শেষ হতে দেবে না এটি আমার ধারণা।

যদিও পিতা-মাতার প্রক্রিয়াগুলি এতেও দায়বদ্ধ হওয়ার বিষয়ে স্ট্রিং সঠিক , তবে আমি বিশ্বাস করি যে নীচের পয়েন্টগুলি ত্রুটিযুক্ত এবং apt-checkসঠিকভাবে সম্বোধন করার জন্য একটি বাগ হিসাবে রিপোর্ট করতে হবে:

  • OOM হত্যাকারীর ইঙ্গিত দেওয়া উচিত যে প্রথমে নিজেকে হত্যা করা উচিত
  • এটি দুর্দান্ত স্তরের হার্ডকডযুক্ত সেট করা উচিত নয়
  • তথ্যের টুকরোগুলি পেতে যদি অযৌক্তিক পরিমাণ সময় নেয় তবে এটি থেকে প্রস্থান করা উচিত

প্রকৃতপক্ষে, দেখে মনে হচ্ছে লিনাক্স ওওএম কিলার এটি সম্পর্কে কিছু হিউরিস্টিক করছে। নিসৃত প্রক্রিয়াগুলি বর্ধিত স্কোর পাবে এবং দীর্ঘ-চলমান প্রক্রিয়াগুলি হ্রাস পাবে। ( উত্স - উলিরিচ ড্যাঙ্গেলকে এটি নির্দেশ করার জন্য ধন্যবাদ )

সম্ভাব্য সমাধান আমি প্রস্তাব করতে পারি:

  • প্রক্রিয়া করার পরে ক্যাশে ফলাফল
  • প্রতিটি সরল (এমনকি ) অনুরোধের জন্য সমস্ত পাইথন-এপিটি লাইব্রেরি লোড না করে সেকেন্ডের চেয়ে কম পরিমাণে আউটপুট ক্যাশে --help
  • সুন্দর স্তরের কনফিগারযোগ্য করুন - আমাকে এটি পরিবর্তন / অক্ষম করার অনুমতি দিন, দয়া করে! আমি বিশ্বাস করি যে এটি 0 এ সেট করা আসলে সহায়তা করবে
  • এটি OOM হত্যাকারী স্কোর বাড়াতে চান?

আমি মনে করি আপনি এটি করা উচিত সবচেয়ে বড় কাজটি মিস করেছেন: একটি লকফিল ব্যবহার করুন এবং একাধিক উদাহরণ একবারে চালানোর অনুমতি দেবেন না।
ডার্বোবার্ট

@डरবার্ট এটি এমন একটি স্ক্রিপ্ট যা কোনও ব্যবহারকারী উবুন্টুতে নির্দিষ্ট সুযোগ-সুবিধা ছাড়াই চালাতে পারেন, ডেমন নয়। নাকি আমি ব্যবহার করতে পারেন /var/run/ /tmpপার্থিব-পাঠযোগ্য / লিখনযোগ্য লক ফাইল নিরাপদে জন্য? সেখানে বড় গর্ত: লক ফাইল যুক্ত করুন এবং অ্যাডমিন সিস্টেম আপডেট সম্পর্কে অবহিত হবে না!
gertvdijk

এটিকে যা যা স্বয়ংক্রিয়ভাবে চালু করা হচ্ছে (30+ কপিগুলি চলতে শুরু করে) এর জন্য লকিংয়ের প্রয়োজন। অথবা এটি নিজেই করতে পারত, প্রতি ব্যবহারকারী। যেভাবেই হোক, এটি একটি বাগ যা সমাধান করা দরকার।
ডারোবার্ট

নাগিওস / আইসিংগা মনে হচ্ছে এ সমস্যাটি এড়ানো হবে। কমপক্ষে, এর কিছু 10 সেকেন্ডআউট হয়েছে এবং এটি অতিক্রম করা হলে সতর্ক করে দেওয়া হয়েছিল। (যদিও আমি কীভাবে সময়সীমাটি কনফিগার করতে পারি তা খুঁজে পাচ্ছি না - আমি আরও পছন্দ করব)। ডেবিয়ানের বাইবু আমার জন্য সমস্যার কারণ; উবুন্টুতে এটি ঠিক করার কথা
সোর্সজেডি

4

অ্যাপটি-চেকটি কী প্রক্রিয়া তৈরি করছে তা আপনাকে খুঁজে বের করতে হবে। প্রক্রিয়া ট্রি পেতে আপনি PS এর মতো কিছু ব্যবহার করতে পারেন।

ps -A --forest

যদি অ্যাপ্ট-চেকের কোনও পিতা-মাতা না থাকে তবে এটি এপ-চেক করার একটি সমস্যা হতে পারে এটি একটি নির্দিষ্ট প্রোগ্রাম নয় pt যদি এটি হয় তবে আমি অ্যাপটি-চেকটি ডিবাগ করার চেষ্টা করব।


ধন্যবাদ। আরও খতিয়ে দেখার জন্য আমাকে কিছু ধারণা দিয়েছেন। যাইহোক, এটি আমাকে বিশ্বাস করতে নেতৃত্ব দেয় এটি apt-checkসত্যিই একটি সমস্যা - আমার নিজের উত্তর দেখুন
gertvdijk

যদি এটি মেমরি এবং সিপিইউ সময় গ্রহণ করে তবে এটি কোনও জম্বি নয়।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

@ গিলস ভাল পয়েন্ট।
স্ট্রিং

0

উবুন্টু 12.04 এ লিখিত বেস

আমার একই সমস্যা রয়েছে এবং এটি কারণ হিসাবে byobuআমি জানতে পেরেছি , যদি আমি কেবল apt-get updateব্যবহার না করে চালাই byobuতবে কোনও check-aptপ্রক্রিয়া হবে না । এছাড়া, এটিও সম্পর্কিত update-notifierব্যবহার করে, প্যাকেজ, যখন আমি ঐ প্যাকেজ মুছে (আপডেট-notifer-সাধারণ, আপডেট-বিজ্ঞপ্তিকারীর) byobuএবং চালানোর apt-get update, এটা অন্য কমান্ড দৌড়ে কিন্তু পুরোপুরি একই মেমরির ব্যবহার করছে: apt-get -s -o Debug::NoLocking=true upgrade

অন্য কিছু জিনিস চলতে পারে apt-get update(তবে সম্ভবত চলবে না check-apt)

  • check_aptpkg আপডেট / আপগ্রেড করার পক্ষে তর্ক বিতরণ করা।
  • যদি কনফিগার করা থাকে /etc/cron.daily/aptতবে প্যাকেজ তালিকাটি আপডেটও করতে পারে ( https://help.ubuntu.com/lts/serverguide/automatic-updates.html দেখুন ) তবে এটি কেবল দিনে একবার চালানো হয় এবং সমস্যা হওয়া উচিত নয়।

একটি ডেস্কটপে, আরও কিছু জিনিস জড়িত থাকতে পারে।

উপসংহার: byobuআপনি apt-get updateএই check-aptপ্রক্রিয়াগুলি চালনা এবং ট্রিগার করার সময় ইভেন্টটি ক্যাচ করে , এটি byobuঠিক করার জন্য স্ট্যাটাস বারটি পুনরায় কনফিগার করুন ।

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