প্রশ্ন কিভাবে আমি লিনাক্সে হার্ড ডিস্ক লোড নিরীক্ষণ করতে পারি?


লিনাক্সে হার্ড ডিস্ক লোড নিরীক্ষণের জন্য একটি ভাল কমান্ড লাইন ইউটিলিটি আছে কি? কিছুটা এইরকম top কিন্তু তারপর ডিস্ক কার্যকলাপ নিরীক্ষণ i.s.o. CPU 'র ব্যবহার.

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

আমার আদর্শ সরঞ্জাম এমন কিছু হবে যা প্রিন্ট করে "আপনি এখন আপনার ডিস্ক ব্যান্ডউইথের 35% ব্যবহার করছেন"। কোন ধারনা?


88
2018-05-18 13:56


উত্স


পারফেক্ট প্রশ্ন, ঠিক কি আমি খুঁজছেন ছিল =) - rafa.ferreira
সিএসএসএস সরাসরি যেমন পড়তে পারা যায় /sys/block/sda/stat। ক্ষেত্র # 1 পড়ার মোট # টি প্রদান করে, ক্ষেত্র # 5 লিখেছেন # মোট # ক্ষেত্র # 9 হল I / O ক্রিয়াকলাপগুলির অগ্রগতির সংখ্যা। আরও দেখুন kernel.org/doc/Documentation/iostats.txt মান দীর্ঘায়িত স্বাক্ষরিত এবং মোড়ানো হতে পারে। - sastanin
এটি একটি খুব ভাল প্রশ্ন কারণ আমরা সর্বদা Plesk সার্ভারগুলিতে এই সমস্যাটির সাথে লড়াই করছি। যাইহোক, কি অনুপস্থিত হয় how do you do it with SNMP?। লগ ইন করুন এবং স্টাফ চেক করুন, কিন্তু এক সত্যিই ঐতিহাসিক তথ্য প্রয়োজন। - Eugene van der Merwe
unix.stackexchange.com/questions/55212/... - Ciro Santilli 新疆改造中心 六四事件 法轮功


উত্তর:


আপনি এই ব্যবহার করে একটি চমত্কার ভাল পরিমাপ পেতে পারেন iostat টুল.

% iostat -dx /dev/sda 5

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.78    11.03    1.19    2.82    72.98   111.07    45.80     0.13   32.78   1.60   0.64

ডিস্ক ব্যবহার শেষ কলামে তালিকাভুক্ত করা হয়। এই হিসাবে সংজ্ঞায়িত করা হয়

CPU সময়টির শতকরা সময় যা ডিভাইসে I / O অনুরোধগুলি জারি করা হয়েছিল   (ডিভাইসের জন্য ব্যান্ড প্রস্থ ব্যবহার)। ডিভাইস সম্পৃক্তি   যখন এই মান 100% কাছাকাছি হয়।


77
2018-05-18 14:15



এই প্যাকেজটি কি ডেবিয়ানে থাকে, যদি থাকে? apt-cache dump iostat জন্য কিছু চালু না - hBy2Py
@ ব্রিয়ান: এটি সিএসএসটি প্যাকেজে (যামের মাধ্যমে যাইহোক ...) - Joe
RHEL 6.5 এ এটি খুঁজে পাওয়া যায়নি। এই RHEL জন্য উপলব্ধ? - Hazok
একটি বিলম্ব সঙ্গে অবিরত থাকার ছাড়া এই কাজ করতে পারেন? তথ্য পেতে একটি একক উদাহরণ চালানোর চেষ্টা করা সম্ভবত একই সংখ্যা পায় হিসাবে এটি নমুনা গ্রহণ করতে পারে না ??? - Wilf
@ হজক এটি রিহেল 6.5 এর সিএসএসটিএস RPM এর অংশ। - TheGeneral


iotop প্রতিটি প্রক্রিয়া ব্যবহার করা হয় কত IO দেখায় যে উপরের একটি সংস্করণ। এটা স্ট্যান্ডার্ড উবুন্টু রিপোজিটরির মধ্যে আছে; আমি জানি না এটি RHEL বা ফেডোরাতে আছে তবে এটি হওয়া উচিত।

enter image description here

পুরোনো কার্নেলের জন্য (CentOS 5.x বা RHEL 5.x বলুন) আইপোট সমর্থন করে না, পরিবর্তে টপিও ব্যবহার করুন (এখানে নথিভুক্ত করা হয়েছে: http://yong321.freeshell.org/freeware/pio.html#linux। এটি io পরিসংখ্যানের জন্য / proc // io উপর নির্ভর করে এবং আইপোট হিসাবে একই কার্যকারিতা সরবরাহ করে। আরও বিস্তারিত জানার জন্য লিঙ্ক দেখুন।


75
2018-05-18 14:14



প্রকৃতপক্ষে, এটি উবুন্টুতে ডিফল্টরূপে ইনস্টল করা হয় না, সুতরাং এটি একটি সমস্যা হতে পারে: এটি পেতে এটির ইনস্টল করুন sudo apt-get - Moshe
iotop এর 2.6.20 এর চেয়ে বেশি একটি কার্নেল প্রয়োজন, যা দুর্ভাগ্যবশত রেডহ্যাট এল 4 এবং এল 5 উভয়কে আউট করে। - Dave Cheney
রেডহ্যাট 5.4 হিসাবে, আইপোট কাজের জন্য প্রয়োজনীয় বিটগুলি ব্যাকপোর্ট করা হয়েছে। উপভোগ করুন! - Dave Cheney
এটা ফেডোরাতে :)। - jamie


মতামত অনুসারে sastanin দ্বারা প্রস্তাবিত, আপনি সরাসরি দেওয়া মান প্রক্রিয়া করতে পারেন /sys/block/sda/stat অথবা /proc/diskstats। এটি অন্য কোনও উল্লেখযোগ্য সরঞ্জামগুলি উপলব্ধ না হলে সহজেই সহায়ক হতে পারে এবং আপনি সহজে ইনস্টল করতে পারবেন না।

উদাহরণস্বরূপ (আইআইইউসি) এর মতো কিছু (ব্যাশে) প্রতি সেকেন্ডে পাঠের সংখ্যা দিতে হবে:

OLD=`awk '{print $1}' /sys/block/sda/stat` # First field is number of read I/Os processed
DT=1
for ii in `seq 1 10`
do
    sleep $DT
    NEW=`awk '{print $1}' /sys/block/sda/stat`
    echo $((($NEW-$OLD)/$DT))
    OLD=$NEW
done

দেখ https://www.kernel.org/doc/Documentation/iostats.txt এবং https://www.kernel.org/doc/Documentation/block/stat.txt ডকুমেন্টেশন জন্য।


12
2017-07-22 10:16





আপনি একটি চেহারা নিতে হবে উপরে, যা আইপোট / শীর্ষ / আইপটপের ক্ষমতা একত্রিত করে, এক জায়গায় এবং আপনার সিস্টেমে সমালোচনামূলক অংশগুলিকে তুলে ধরে।


5
2018-03-01 04:42





আমি nmon টুল তাকান সুপারিশ করবে। এটি আপনাকে সিস্টেম প্যারামিটারগুলিতে লাইভ লোড দেখাবে এবং পাশাপাশি পরে দেখার জন্য একটি ফাইলের ডেটা রেকর্ড করবে। এটি একটি বিনামূল্যে টুল পাওয়া যায় এখানে:


4
2018-05-18 15:52





আপনার মোট ব্যান্ডউইথ কি আপনি ব্যবহার করতে পারেন তা খুঁজে বের করতে hdparm -T /dev/sda বাফার ক্যাশে (ফাইলিও) কর্মক্ষমতা পরীক্ষা hdparm -t /dev/sda ডিভাইস পড়া কর্মক্ষমতা পরীক্ষা করতে

উদাহরণ: আমার ল্যাপটপ SATA ডিস্ক থেকে 82MB / সেকেন্ড এবং ক্যাশে থেকে 2 গিগাবাইট / সেকেন্ড পায়। আমার ডিস্কেস্ট ক্যাশ থেকে 1২ গিগাবাইট / সেকেন্ড এবং HW RAID অ্যারে থেকে 500 এমবি / সেকেন্ড পায়। আমি সন্দেহ করি যে শেষ সংখ্যা সার্ভার বর্গ হার্ডওয়্যারে দ্বিগুণ হতে পারে।

256 এর চেয়ে বেশি পাঠযোগ্য, 4096 আমার জন্য সেরা কাজ করে

for i in 128 256 512 1024 2048 4096 8192 16384 32768  
do  
hdparm --setra $i  
  for j in 1 2 4 8 16 32  
  do  
  time dd if=/dev/sda of=/dev/null bs="$j"k  count=<fixthis> 1GB / blocksize  
  done  
done  

বার বিভিন্ন ব্লক মাপে 1 জিবি পড়া এবং বিভিন্ন পঠন-এগিয়ে


4
2018-05-18 15:58



এসএফ স্বাগতম। আপনি স্ট্রিং বা ইন্ডেন্টিং অনুচ্ছেদের চারপাশে ব্যাককোটগুলি রেখে আপনার পোস্টগুলিতে কোড হাইলাইটিং ব্যবহার করতে পারেন। - ℝaphink
দুই জিনিস - 1) --setra এখন -a, এবং 2), দী hdparm -{T,t} শুধুমাত্র সমস্যা ডিস্ক কমান্ড, অনুযায়ী, কমান্ড strace, তাই নির্বোধ হয়। (ইন্টারনেটে পরামর্শ সম্পর্কে স্ট্যান্ডার্ড দাবিত্যাগ প্রযোজ্য) - i336_


হার্ড ডিস্ক লোড দেখানোর জন্য আদর্শ সরঞ্জাম iostat

আপনি কত বয়সী ডিস্ক ব্যান্ডউইথ ব্যবহার করছেন তা এটি আপনাকে বলবে না, কারণ এটি আপনার ডিস্কে কত ব্যান্ডউইথ আছে তা জানেন না। যেকোন ক্ষেত্রে, আপনার ডিস্কের সাথে সামঞ্জস্যপূর্ণ তথ্য বৃহত স্থানান্তর করার জন্য প্রস্তুতকারকের উদ্ধৃত চিত্র রয়েছে।


3
2018-05-18 14:02





আমি মনে করি RRDtool আপনি চান কি করা উচিত এখানে এটি সিস্টেম ডেটা ডাম্প করার জন্য একটি ডেমন ব্যবহার করে এবং তারপর আপনি এটি পছন্দ করে তবে এটি প্রক্রিয়া করতে দেয়। সিস্টেম লোড পরিমাপ করার জন্য আমি প্রায়ই গ্রাফ ইত্যাদির জন্য এটি ব্যবহার করেছি।


2
2018-05-18 14:03