কেন অ্যাপ্লিকেশনগুলি 100% (সিপিইউ ও ডিস্ক বা নেট) ব্যবহার করে না?


21

কেন সিপিইউ, ডিস্ক বা নেটওয়ার্কের 100% ব্যবহার করে apt-get না - এমনকি এর কাছাকাছি কেন? এমনকি ধীর সিস্টেমে (রাস্পবেরি পাই 2+) আমি কমপক্ষে 30% সিপিইউ লোড পাচ্ছি। আমি শুধু চিন্তা করছি যে হয় এটা কৃত্রিমভাবে রোধ করা হচ্ছে, অথবা এটি সর্বোচ্চ আউট উচিত কিছু যখন এটি কাজ করছে ... অথবা এটি দ্রুত তুলনায় এটা আছে তার জিনিস করে করতে সক্ষম হওয়া উচিত।

সম্পাদনা করুন: আমি আমার প্যানেলের সিপিইউ / ডিস্ক / নেট মনিটর এবং উবুন্টু মেটের সিস্টেম মনিটর অ্যাপের মাধ্যমে প্রায় মাপছি uring

আমি ভুল করছি কেন দয়া করে ব্যাখ্যা করুন। :-)

আপডেট: আমি বুঝতে পারি যে apt-getএর আপডেটগুলি আনতে হবে (এবং প্রবাহ / সরবরাহকারী ব্যান্ডউইথ দ্বারা সীমাবদ্ধ হতে পারে)। কিন্তু একবার এটি "unpacking" আসুন এবং তাই, CPU ব্যবহারের অন্তত উচিত পর্যন্ত যেতে (যদি না সর্বোচ্চ আউট)। আমার মোটামুটি শালীন হোম ওয়ার্কস্টেশনে, যা এর মূল ড্রাইভের জন্য একটি এসএসডি ব্যবহার করে এবং / টিএমপি-র জন্য র‌্যামডিস্ক ব্যবহার করে, এটি কেস নয়।

অথবা হতে পারে আমার আরও কাছের নজর দেওয়া দরকার।


আপনি কীভাবে ডিস্ক এবং নেটওয়ার্ক লোড পরিমাপ করছেন?
জিগ্লিনাগা

1
যদিও ডিস্ক আইও নেটওয়ার্ক আইওর মতো। এটি এখনও অ্যাপ্লিকেশনটিকে ব্লক করবে, সিপিইউ ব্যবহার থেকে বিরত রাখবে। হায়রে, apt-getএটি অনুকূলিতকরণ বিশেষত ভাল নয়। আমি কল্পনা করি এটি ডাউনলোডের সাথে সাথে এটি ইনস্টল হতে পারে যাতে আপনার ডাউনলোড শেষ হওয়ার সাথে সাথে আপনার বেশিরভাগ পেডলোড ইতিমধ্যে ইনস্টল হয়ে যেতে পারে, তবে দুর্ভাগ্যক্রমে এটি হয় না। যে কোনও ক্ষেত্রে, স্বতন্ত্র ব্যক্তি বেশিরভাগই কেবল ডিস্কে ডেটা বের করে। এই ক্রিয়াকলাপগুলি সহজাতভাবে আইও আবদ্ধ, এবং কেবল আরও কিছু করার দরকার নেই তবে পড়া বা লেখা শেষ করার জন্য ডিস্ক ড্রাইভে অপেক্ষা করুন।
পিএসকোকিক 25'16

আপনি 30% সিপিইউ লোড নম্বরটি কীভাবে পেয়েছেন?
এএল

1
@ এসপিওসিক "আমি কল্পনা করি যে এটি এটি ডাউনলোড করার সাথে সাথে এটি ইনস্টল করতে পারে" ঠিক ডাউনলোড ডাউনলোড করে, ডিপি কেজি ইনস্টল করে। এবং dpkg অপারেটিং-এর চেয়ে স্মার্ট, যাতে একগুচ্ছ প্যাকেজ ইনস্টল করা উচিত, যা সেগুলি আপ্ট-গেট ডাউনলোড করার মতো নাও হতে পারে।
ব্রায়াম

মনে রাখবেন যে একটি অ্যাপ্লিকেশন যা 100% সিপিইউ অর্ধেক টিকের জন্য আবদ্ধ, এবং তারপরে অন্য অর্ধের জন্য 100% আইও-আবদ্ধ থাকবে সেগুলি সিপিইউ-বাউন্ড বা আইও-আবদ্ধ থাকবে না ,.
এমসাল্টার

উত্তর:


28

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

apt-getঅন্যদিকে, আইও-আবদ্ধ । এর অর্থ এটি তার ডেটা পরিবর্তে দ্রুত প্রক্রিয়া করতে পারে তবে ডেটা লোড করতে (ডিস্ক থেকে বা নেটওয়ার্ক থেকে) সময় লাগে, এই সময় প্রসেসর হয় অন্য স্টাফগুলি করতে বা নিষ্ক্রিয় হয়ে বসে থাকতে পারে যদি অন্য কোনও প্রক্রিয়া না প্রয়োজন হয়।

সাধারণত, সমস্ত আইও অনুরোধগুলি (ডিস্ক, নেটওয়ার্ক) ধীরে ধীরে থাকে এবং যখনই কোনও অ্যাপ্লিকেশন থ্রেড একটি করে তোলে, কার্নেল ডেটা কার্নেলের মধ্যে লোড না হওয়া অবধি প্রসেসরের থেকে এটি সরিয়ে ফেলবে (= এই আইও অনুরোধগুলিকে ব্লকিং অনুরোধগুলি বলা হয় )।


6
সঙ্গে aptআদেশ, এটা সত্য যে অনেক ফাইল সিঙ্ক মোড খোলা, বা ডিস্কে ঘন স্পষ্ট flushes সঙ্গে একটি সামঞ্জস্যপূর্ণ রাজ্যের ডিস্ক থাকার বিষয়টি মতেই উপর গ্যারান্টি ডেটাতে অনুরোধ করা হচ্ছে যেমন একটি সিস্টেম ক্র্যাশ গুরুতর অন্যথায় হতে পারে দ্বারা কুপিত হয়। aptকমান্ড দিয়ে চালানো eatmydataপ্রায়শই হ্রাসযোগ্য নির্ভরযোগ্যতার ব্যয় করে নাটকীয়ভাবে পারফরম্যান্স উন্নত করতে পারে (প্যাকেজ ইনস্টলেশনের অংশ হিসাবে পরিষেবাগুলি ডায়েডমিটা সেটিংসের উত্তরাধিকারী হবে তা উল্লেখ না করে)
স্টাফেন চ্যাজেলাস

শেষ মুহুর্তে লোল :)। ২০১০ সালে বাগসডেবিয়ান.আর.বি.সি.বি.আই.বি.আইনি / বুগেরপোর্ট.সি.ইগ.বিগ=578635 তে প্রতিশ্রুতিবদ্ধ হওয়ার পর থেকে কারও কি আইডমিডাটার জন্য নম্বর আছে ? আমি জানি না "নাটকীয়ভাবে" এখনও সঠিক শব্দ কিনা।
সোর্সজেডি

আহ, হতে পারে এটি (কমপক্ষে কিছু মেঘ সরবরাহকারীদের উপর) বাগ.লাঞ্চপ্যাড.net
+

1
@ সোর্সজেডি অপেক্ষাকৃত উচ্চ-শেষ এসডি কার্ডের সাথে রাস্পবেরি পাই 2 তে (তবে এখনও একটি এসডি কার্ড, উচ্চ-শেষের এসএসডি নয়), আমি "নাটকীয়ভাবে" কিছুটা সংক্ষেপণ হিসাবে বিবেচনা করি। ফ্ল্যাশ মিডিয়ায় dpkg এর পারফরম্যান্স সত্যিই সফল হয়।
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
যদি এটি ডিস্ক-আইও-আবদ্ধ থাকে তবে কেন এটি 100% ডিস্ক ব্যান্ডউইথ ব্যবহার করছে না?
ব্যবহারকারী 253751

15

এমনকি ধীর সিস্টেমে (রাস্পবেরি পাই 2+) আমি কমপক্ষে 30% সিপিইউ লোড পাচ্ছি।

রাস্পবেরি পাই 2+ তে 4 টি কোর রয়েছে। কিছু পর্যবেক্ষণ সরঞ্জামের জন্য, সমস্ত কোরের সাথে 100% ব্যবহার 100% ব্যবহার করা হয়েছে। যদি কোয়াড কোড প্রসেসরের কেবল একটি কোর ব্যবহার করা হয় তবে সিপিইউ লোড 25%। আপনার উল্লিখিত ৩০% সিপিইউ লোডটি প্রায় একটি কোর যা 100% ব্যবহার করা হয় যখন কিছু প্রক্রিয়া অন্য কোরগুলিতে চলছে:

(100% on one core out of 4 = 100 / 4 = 25%) + some processes ≃ 30%

যেহেতু apt-getমাল্টি থ্রেডেড নয়, এটি কখনও একাধিক প্রসেসর ব্যবহার করবে না, যা সমস্ত সিপিইউ সংস্থার 25%।


উবুন্টু চালিত আমার 8 টি কোর ( হাইপার-থ্রেডিং সহ 4 কোর ) মেশিনের একটি উদাহরণ এখানে রয়েছে , আমি cat /dev/zero > /dev/nullএকটি কোরকে সম্পূর্ণরূপে ব্যবহার করতে পারে এমন একটি অসীম প্রক্রিয়া তৈরি করতে কমান্ড দিয়ে একটি থ্রেড চালু করেছি ।

এখন যদি আমরা গ্রাফটি থেকে একবার htopদেখে নিই, আমরা দেখতে পাচ্ছি যে গড় লোড ( Avgবার) হল 12.7%, যা 100% ব্যবহৃত একটি কোরের সাথে মিলে যায়, যা সমস্ত সিপিইউ সংস্থার 1/8 হয়:

(100% = 100 / 8 = 12.5%) + some background processes ≃ 12.7%.

htop

এটাও উল্লেখ করা যেতে পারে কমান্ডের একটি মান আছে যা 100%CPU%কলাম, এই কারণ এটি এবং সব কোর এক কোর আপেক্ষিক আছে।


+1, (100 / nCore) এর একাধিকের ব্যবহারের% এর আরও সবসময় আরও তদন্ত পরীক্ষা করা উচিত। এটি পরীক্ষা করা যায় - এবং প্রকৃতপক্ষে প্রত্যাখ্যান করা হয়
আন্ডারস্কোর_২২

এর /dev/zero > /dev/nullচেয়ে ভাল উদাহরণ কী নয়, যেহেতু ইউরেনডম এন্ট্রপি পুলটি হ্রাস করবে?
ফিলিপ হাগলুন্ড

@ ফিলিপ হাগলুন্ড cat /dev/zero > /dev/nullএকই ফল দেয়, ধন্যবাদ আমি সেই ডিভাইসটি জানতাম না। ইউরেনডম এন্ট্রপি পুলটি হ্রাস করবে আমি এন্ট্রপি পুল জানি না, কীভাবে সমস্যা হতে পারে?
এএল

1
প্রোগ্রামগুলি যখন ক্রিপ্টো ব্যবহার করে, নিরাপদ এনক্রিপশন কী তৈরি করতে তাদের সত্যিকারের এলোমেলো ডেটা প্রয়োজন। কম্পিউটার অন্যান্য জিনিসের মধ্যে মাউস সরানো দেখে এনট্রপি তৈরি করে। এখানে হার্ডওয়্যার এলোমেলো সংখ্যা জেনারেটর রয়েছে, তবে বেশিরভাগ কম্পিউটারে সেগুলি নেই। যদি এনট্রপি সবই ব্যবহার করা হয় তবে যে কোডটিতে সুরক্ষিত এনট্রপি দরকার তা আরও উত্পন্ন হওয়ার জন্য অপেক্ষা করতে হবে to ইউরেনডম উপলব্ধ হলে সত্যিকারের এলোমেলো বিট ব্যবহার করবে বা অন্যথায় কম সুরক্ষিত এলোমেলো বিট প্রদান করবে।
ফিলিপ হাগলুন্ড

প্রোগ্রামগুলি যখন ক্রিপ্টো ব্যবহার করে এমনকি আমি যদি মনে করি যে এলোমেলো কী তৈরির সময় কেউ সিপিইউ বেঞ্চমার্ক সম্পাদন করবে না, তবে আমি আমার উত্তরটি সতর্কতা হিসাবে আপডেট করেছি।
এএল

2

আমি মনে করি আপনি আসলে IO% পরিমাপ করছেন না। আমি লিনাক্স IO% উইজেটটি দেখিনি। (আমি উইন্ডোজ 10 টাস্ক ম্যানেজারের প্রতি খুব .র্ষা করছি :)। iotopকমান্ডটি ব্যবহার করে পরীক্ষা করুন এবং আপনি 100% IO দেখতে পাবেন।

topআমি user++ বলছি না যে আপনার মূল গণনা দ্বারা বিভক্ত 100% এর মানগুলির জন্য system++ জুড়ে 100% প্রদর্শন করা উচিত , তবে iowaitআমি topএটি 100% সহায়ক বলে মনে করি না , তবে এটি শিখার পক্ষে সত্যিকারের উপকারী একটি সরঞ্জাম হতে পারে।

থ্রুপুট সর্বোচ্চের চেয়ে কম হবে, কারণ আপনি প্রচুর ছোট ফাইল আনফ্যাক করছেন, ওরফে "এলোমেলো আইও"। এখানে কিছু ডিস্ক সিঙ্ক / ক্যাশে ফ্লাশ রয়েছে, যদিও লিনাক্সে ২০১০ সাল থেকে প্রতিটি প্যাকেজ ইনস্টল করার জন্য তাদের মধ্যে কয়েকটি মাত্র রয়েছে। ( ফাইল প্রতি এক হতে ব্যবহৃত )।


ব্যবহার করুন iotop --only, --onlyবিকল্পটি কেবলমাত্র I / O করছে এমন প্রক্রিয়া বা থ্রেড দেখায়
এএল

4
iostat, dstat, atop ... বিশেষাধিকারের প্রয়োজন ছাড়াই প্রতি ডিস্ক ডিস্কের ব্যবহার প্রদর্শন করবে। এটি প্রতি-টাস্ক ব্যবহারের জন্য যা আপনার সুবিধাগুলি প্রয়োজন
স্টাফেন চেজেলাস

@ স্টাফেনচেজেলাস সম্পূর্ণ সঠিক। আমি যে বিন্দুটি (নিনজা সম্পাদনা) করার চেষ্টা করছিলাম সেটি হ'ল ওপিতে কয়েকটি GUI সরঞ্জামের উল্লেখ রয়েছে। এবং জিনোম সিস্টেম মনিটরের মতো আমি দেখেছি এমন বিশেষ জিইউআই সরঞ্জামগুলি থ্রুটপুট দেখায় তবে কোনও আইও% নেই।
সোর্সজেডি 25'16

2

আসলে, সিপিইউ অপ্সের তুলনায় আইও / নেটওয়ার্ক অনুরোধগুলি সত্যই ধীর। এর অর্থ হ'ল যখন আপনার নেটওয়ার্ক কার্ডটি ডেটা আনছে বা আপনার ডিস্কটি এই ডেটাটি লিখছে তখন আপনার সিপিইউ নিরবচ্ছিন্নভাবে কিছুই করে না (যাইহোক এই প্রক্রিয়াটির জন্য)।

আপনার হার্ড ড্রাইভটি যদি আপনার নেটওয়ার্ক সংযোগের চেয়ে দ্রুত হয় (যা সম্ভবত সত্য) তবে এটি যতটা পেয়েছে তার চেয়ে বেশি লিখবে না।

অবশেষে, নেটওয়ার্ক শতাংশটি সর্বাধিক সম্ভব নেটওয়ার্ক কার্ড ব্যবহারের সাথে সম্পর্কিত, সংযোগ নয়। সুতরাং আপনার কাছে 1 জিবি / গুলি নেটওয়ার্ক অ্যাডাপ্টার থাকতে পারে, আপনার এই ইন্টারনেট ব্যান্ডউইথের কাছে পৌঁছানোর কোনও ইন্টারনেট সংযোগ হওয়ার সম্ভাবনা খুব কমই।

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