কোন প্রক্রিয়াটি নিয়মিত ডিস্কে লিখছে তা কীভাবে আবিষ্কার করবেন?


40

কোন প্রক্রিয়াটি নিয়মিত ডিস্কে লিখছে তা আমি কীভাবে আবিষ্কার করতে পারি?

আমি আমার ওয়ার্কস্টেশনটি নিঃশব্দের কাছাকাছি থাকতে চাই এবং আমি কেবল একটি নতুন সিস্টেম তৈরি করেছি (P8B75-M + Core i5 3450s - 'এর' কারণ এটিতে কম সর্বাধিক টিডিপি রয়েছে) এবং ডিবিয়ান হুইজি 64৪-বিট ইনস্টল করা হয়েছে চালু কর.

এবং আমার স্নায়ুতে কিছুটা ঘটছে: আমি একধরণের প্যাটার্ন শুনতে পাচ্ছি যেমন হার্ডডিস্কটি লিখছিল বা সন্ধান করছিল ( টিক ... টিক ... টিক ... ট্রায়ারআর ধুয়ে ফেলুন এবং প্রতি সেকেন্ডে পুনরুক্ত করুন )।

অতীতে আমার অতীতেও একই রকম সমস্যা ছিল (অনেকগুলি, বহু বছর আগে) এবং এটি প্রমাণিত হয়েছিল এটি কিছু সিইপিএস লগ বা কিছু ছিল এবং আমি কেবল একটি (বাস্তব) র‌্যাম ডিস্কে লগইন করে সেইটিকে (গুরুত্বপূর্ণ নয়) পুনঃনির্দেশিত করেছি।

তবে এখানে আমি নিশ্চিত নই।

আমি নিম্নলিখিত চেষ্টা করেছিলাম:

ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp

কিন্তু সেখানে কিছুই পরিবর্তন হচ্ছে না।

এখন আশ্চর্যের বিষয়টি হ'ল আমি যখন প্যাটার্নটি আমার এলভিএম ডিক্রিপশন পাসফ্রেজটি প্রবেশ করানোর জন্য জিজ্ঞাসা করি তখন আমি সেই প্যাটার্নটিও শুনি।

আমি সদ্য ইনস্টল করা কার্নেল / সিস্টেমে এটি হতে পারে বা আমার কোনও ত্রুটিযুক্ত হার্ডডিস্ক থাকতে পারে?

hdparm -tT /dev/sda সঠিক এইচডি গতির প্রতিবেদন করুন (১৩০ গিগাবাইট / এস-নন-ক্যাশেড, সটা GB জিবি) এবং আমি ইস্যু ছাড়াই ইতোমধ্যে বড় উত্স (ইমাস) থেকে ইনস্টল এবং সংকলন করেছি যাতে সিস্টেমটি খারাপ বলে আমি মনে করি না।

(এইচডি হ'ল সিগেট ব্যারাকুড 500 গিগাবাইট)


আপনি কি নিশ্চিত যে এটি একটি হার্ড ড্রাইভ যে শব্দ করে, এবং অন্য কিছু না? (ভক্তদের পরীক্ষা করে দেখুন, পিএসইউ পাখা সহ খুব অদ্ভুত ক্লিক শব্দ ছিল না যখন একবার একটি খুব পাতলা তারের খুব একটি পাখা কাছের মানুষ ছিলেন এবং কখনও কখনও খুব সামান্য ব্লেড এবং কয়েক "ক্লিক" জন্য বাউন্স স্পর্শ করে ...।)
মাদুর

@ ম্যাট: আমি অবশ্যই হার্ড ড্রাইভ কেসের বাইরে নেব (সংযোগকারীরা যথেষ্ট দীর্ঘ হওয়া উচিত) এবং আমি ফিরে রিপোর্ট করব; )
সিড্রিক মার্টিন

2
আপনার ডিস্ক ফাইল সিস্টেমগুলি পুনরায় সময় বা নোয়াটাইম মাউন্ট করা আছে তা নিশ্চিত করুন। ফাইল রিডগুলি অ্যাক্সেসের সময়টি রেকর্ড করার জন্য আইওনডগুলিকে লেখার কারণ হতে পারে।
ক্যামহ

উত্তর:


42

আপনি কি কি প্রোগ্রামগুলির মতো iotopদেখাচ্ছে তা পরীক্ষা করার চেষ্টা করেছিলেন ? এটি ডিস্কে বর্তমানে কী ধরণের প্রক্রিয়া লিখছে তা আপনাকে সুনির্দিষ্টভাবে বলবে।

উদাহরণ আউটপুট:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
 1033 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [flush-8:0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]

1
এই পরামর্শের জন্য ধন্যবাদ আমি আইওটপ সম্পর্কে জানতাম না । ডেবিয়ান আমি একজন করেনি উপর কার্যক্ষম-cache iotop অনুসন্ধান খুঁজে বের করতে যে, আমি ছিল কার্যক্ষম-পেতে iotop । খুব দুর্দান্ত কমান্ড!
সিড্রিক মার্টিন

3
আমি ব্যবহার করি iotop -o -b -d 10যা প্রতি 10 সেকেন্ড ডিস্কে লিখিত / লিখিত প্রক্রিয়াকরণের তালিকা এবং ব্যবহৃত আইও ব্যান্ডউইথের পরিমাণ প্রিন্ট করে।
nddou

15

আপনি আইও ডিবাগিং এর মাধ্যমে সক্ষম করতে পারেন echo 1 > /proc/sys/vm/block_dumpএবং তারপরে / var / লগ / সিসলগে ডিবাগিং বার্তাগুলি দেখতে পারেন । এটি অতীতের ক্রিয়াকলাপগুলির সাথে এক ধরণের লগ ফাইল প্রাপ্ত করার সুবিধা অর্জন করে যেখানে iotopকেবলমাত্র বর্তমান ক্রিয়াকলাপটি দেখায়।


3
ব্লক_ডাম্প সক্রিয় থাকাকালীন সিস্লোজিং সক্ষম করা একেবারেই উন্মাদ। লগিং ডিস্ক কার্যকলাপ, যা লগিং ঘটায়, যা (বার্তা পড়তে এবং ব্যবহার জন্য dmesg) এই সক্ষম করার আগে ডিস্ক কার্যকলাপ ইত্যাদি উন্নত স্টপ syslog- র কারণ ঘটায়
dan3

আপনি একেবারে সঠিক, যদিও আপনি প্রভাবটি বর্ণনা হিসাবে যেমন নাটকীয় হয় না। আপনি যদি কেবল ডিস্ক ক্রিয়াকলাপে একটি সংক্ষিপ্ত উঁকি দিতে চান তবে সিসলগ ডেমন থামানোর দরকার নেই।
স্কাই

আমি প্রায় ২ বছর আগে এটি চেষ্টা করেছি এবং এটি আমার মেশিনটি থামিয়ে দিয়েছে। এই দিনগুলির মধ্যে একটি যখন আমার কাছে গুরুত্বপূর্ণ কোনও
দৌড়াড়ি

আমি চেষ্টা করেছিলাম, আসলে কিছুই হয়নি। বিশেষত ফাইল সিস্টেম বাফারিংয়ের কারণে। সিসলোগে একটি লেখা তাত্ক্ষণিকভাবে ডিস্কে লেখার ট্রিগার করে না।
স্কাই

1
আমি ধরে নেব লগ বার্তাগুলির জন্য স্থানে রেট সাধারণ হার সীমাবদ্ধ রয়েছে, যা এই কেসটিও পরিচালনা করে (?)
ভলকার সিগেল

5

ধরে নিই যে ডিস্ক শোরগোল এমন একটি প্রক্রিয়া যার ফলে লেখার সৃষ্টি হয়েছে এবং কিছু ডিস্ক স্পিনডাউন সমস্যা নয় , আপনি নিরীক্ষণ সাবসিস্টেমটি ব্যবহার করতে পারেন ( auditdপ্যাকেজ ইনস্টল করুন )। একটি ঘড়ি রাখুন syncকল ও তার বন্ধুরা:

auditctl -S sync -S fsync -S fdatasync -a exit,always

লগ ইন দেখুন /var/log/audit/audit.log। অডিট লগগুলি নিজেরাই ফ্লাশ করা হলে এটি না করার বিষয়ে সতর্ক হন! বিকল্পটি সেট করা আছে /etc/auditd.confতা পরীক্ষা করে দেখুন ।flushnone

যদি ফাইলগুলি প্রায়শই ফ্লাশ করা হয় তবে সম্ভাব্য অপরাধী হ'ল সিস্টেম লগ। উদাহরণস্বরূপ, যদি আপনি ব্যর্থ আগত সংযোগের প্রচেষ্টাগুলিতে লগ করেন এবং কেউ আপনার মেশিনটি অনুসন্ধান করছে, এটি প্রচুর এন্ট্রি তৈরি করবে; এটি একটি ডিস্কটি মেশিন বন্দুক-শৈলীর শব্দের নির্গত করতে পারে। বেসিক লগ ডেমন সিস্ক্লোগড সহ, পরীক্ষা করুন /etc/syslog.conf: যদি কোনও লগ ফাইলের নাম আগে না থাকে -, তবে প্রতিটি লেখার পরে সেই লগটি ডিস্কে ফ্লাশ করা হয়।


@ স্টেফেনকিট হুহ না। প্রশ্নকর্তা দেবিয়ানকে উল্লেখ করেছেন তাই আমি এটিকে দেবিয়ান প্যাকেজের লিঙ্কে পরিবর্তন করেছি।
গিলস 'দুষ্ট হওয়া বন্ধ করুন' মারু

3

এটি হতে পারে আপনার ড্রাইভগুলি স্বয়ংক্রিয়ভাবে ঘুরছে, আজকাল প্রচুর গ্রাহক-গ্রেড ড্রাইভগুলি তা করে। দুর্ভাগ্যক্রমে এমনকি একটি হালকা লোড সিস্টেমে, ড্রাইভগুলি ক্রমাগত নিচে কাটা এবং তারপরে আবার ঘুরে বেড়ানোর ফলস্বরূপ, আপনি যদি এইচডিডিটেম্প চালাচ্ছেন বা ড্রাইভের তাপমাত্রা পর্যবেক্ষণ করতে অনুরূপ হন (বেশিরভাগ ড্রাইভগুলি বোকামিভাবে আপনাকে স্মার্ট তাপমাত্রার মান জিজ্ঞাসা করতে দেয় না) ড্রাইভ স্পিনিং ছাড়াই - cretinous!)।

এটি কেবল বিরক্তিকরই নয়, ড্রাইভগুলি দ্রুত চালিয়ে নিতে পারে কারণ অনেকগুলি ড্রাইভে কেবল সীমিত সংখ্যক পার্ক চক্র রয়েছে। উদাহরণস্বরূপ সমস্যার বর্ণনার জন্য https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/952556 দেখুন ।

আমি নিম্নলিখিত সমস্ত শেল কোড দিয়ে আমার সমস্ত ড্রাইভে নিষ্ক্রিয়-স্পিনটাউন অক্ষম করি। আপনি এটি একটি /etc/rc.boot স্ক্রিপ্টে বা /etc/rc.local বা অনুরূপতে রাখতে পারেন।

/ dev / sd এ ডিস্কের জন্য? ; করা
  / sbin / hdparm -q -S 0 "$ ডিস্ক"
সম্পন্ন

2
যে আপনি চালনা ছাড়াই স্মার্ট রিডিং সম্পর্কে জিজ্ঞাসা করতে পারবেন না তা আমাকে নির্বাক করে ফেলেছে: - / এখন স্পষ্টতই "স্পিনিং ডাউন" ইস্যুটি বেশ জটিল হয়ে উঠতে পারে। স্পিনিংটি নিস্ক্রিয় করার বিষয়ে: এটি কি নিজেই এইচডিকে আরও দ্রুত পরিশ্রুত করে না? আমি বলতে চাইছি: যতক্ষণ না ততক্ষণ সিস্টেম চালু থাকে এটি কখনই "বিশ্রাম" হয় না?
সিড্রিক মার্টিন

আইআইআরসি আপনি ড্রাইভটি স্পিন না করেই কিছু স্মার্ট মান জিজ্ঞাসা করতে পারেন, তবে তাপমাত্রা আমি পরীক্ষিত যে কোনও ড্রাইভে (ডাব্লুডি, সিগেট, স্যামসুং, হিটাচি থেকে মডেলগুলি) সেগুলির মধ্যে একটি নয়। যা অবশ্যই, পাগল কারণ তাপমাত্রা নিয়ে উদ্বেগ হওয়াই ড্রাইভকে অলস করার অন্যতম কারণ। পুনরায়: পরিধান: এআইইউআই ১. ধ্রুবক বেগ গতি পরিবর্তনের চেয়ে কম পরিধান করে। ২. ড্রাইভগুলিকে একটি নিরাপদ স্থানে মাথা পার্ক করতে হবে এবং একটি ড্রাইভকে কেবল এটি করতে অনেক সময় রেট দেওয়া হয় (কয়েক লক্ষ হাজার পর্যন্ত আইআইআরসি - ড্রাইভটি প্রতি কয়েক সেকেন্ডে অলসভাবে কাটছে এবং স্পিন করে চলেছে যদি সহজেই ছাড়িয়ে যায়)
ক্যাস

ড্রাইভগুলি চালানো ছেড়ে দেওয়া বা সেগুলি নামিয়ে দেওয়া আরও ভাল কিনা তা নিয়ে দীর্ঘ বিতর্ক। ব্যক্তিগতভাবে আমি বিশ্বাস করি এগুলি চালিয়ে যাওয়া সবচেয়ে ভাল - আমি রাতে কম্পিউটারটি বন্ধ করি এবং যখন আমি বাইরে যাই তবে এর বাইরে আমি কখনই আমার ড্রাইভগুলি স্পিন করি না। কিছু লোক এগুলি স্পিন করতে পছন্দ করে, তারা বলে, রাতে যদি তারা কম্পিউটারটি দীর্ঘসময় ধরে রাখে বা কম্পিউটারের অলস থাকে, এবং এই জাতীয় পরিস্থিতিতে তাদের কয়েক ঘন্টা চালিয়ে রেখে বনাম চালিয়ে যাওয়া বিতর্কযোগ্য হয় is । হার্ড ড্রাইভ যখন স্বল্প সময়ের মধ্যে বারবার স্পিন ডাউন করে এবং আবার উপরে উঠে যায় তবে তা কখনই ভাল নয়।
মিশেল জনসন

আরও নোট করুন যে ড্রাইভটি কয়েক ঘন্টা নিষ্ক্রিয় হওয়ার পরে কিছুটা মূর্খ হওয়ার পরে কিছুটা নিখুঁত, কারণ যদি এটি কয়েক ঘন্টা অলস থাকে তবে সম্ভবত এটি এক ঘন্টার মধ্যে আবার ব্যবহার করা সম্ভব। সেক্ষেত্রে ড্রাইভটি নিষ্ক্রিয় থাকলে তা অবিলম্বে ডাউন স্পিন করা ভাল বলে মনে হয় (যেমন, 10 মিনিটের মধ্যে), তবে যখন কেউ কম্পিউটার ব্যবহার করছে এবং সম্ভবত এটির প্রয়োজন হয় তখন ড্রাইভের কয়েক মিনিটের জন্য অলস থাকাও সম্ভব হয় the শীঘ্রই আবার ড্রাইভ।
মিশেল জনসন

আমি ভেবেছিলাম যে ড্রাইভটি যখন পর্যায়ক্রমে ক্ল্যাকিং শব্দ তৈরি করে শুনবে তখন এটি আমার সমস্যাটি ঠিক করে দেবে (৩-৪ বার / সেকেন্ড) এটি যখন লেখা হয় না তখনও! তবে আমি এখনও এই আদেশটি চালানোর পরে আওয়াজ শুনতে পাচ্ছি। উদ্বেগজনকভাবে, এটি আমার ড্রাইভটি আমার অভ্যন্তরীণ এসএসডি ব্যাক আপ করার জন্য ব্যবহার করে ...
মাইকেল

1

আমি সবেমাত্র পেয়েছি যে স্মার্টটি আমার রাস্পবেরি পাইতে বার বার একটি বাহ্যিক ইউএসবি ডিস্ক স্পিন করে দেয়। যদিও স্মার্ট সাধারণত একটি ভাল জিনিস, আমি আবার এটি নিষ্ক্রিয় করার সিদ্ধান্ত নিয়েছি এবং তখন থেকেই মনে হয় অযাচিত ডিস্কের ক্রিয়াকলাপ বন্ধ হয়ে গেছে


আপনি ইউএসবি ডিস্ক স্ক্যান না করার জন্য স্মার্ট ডিমন কনফিগার করতে পারেন, বেশিরভাগ ভাল লিনাক্স ডিস্ট্রিবিউশনগুলি ডিফল্টরূপে এটি করে।
lzap

1

আপনি এই উপর কিছুটা জেগে উঠতে পারেন। এটি বেশিরভাগের জন্য সঙ্কুচিত করা উচিত।

find / -mount -newer /proc -print

/ ফাইল সিস্টেমের ফিজিকাল ডিভাইসে বুট করার পরে ফাইলগুলিকে সংশোধন করুন। ফাইলগুলি জানার ফলে সম্ভবত লেখককে সনাক্ত করতে সহায়তা করবে।


1

আপনি যদি একে একে সঠিক ডিস্কে সংকীর্ণ করতে চান তবে নিম্নলিখিতটি ব্যবহার করুন:

চালান lsblkএবং ডিভাইস নম্বর দেখুন। নীচের ক্ষেত্রে এটি হয়9:126

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   7.3T  0 disk  
└─md126       9:126  0  13.8T  0 raid0 /mnt/InternalPhase
sdb           8:16   0   7.3T  0 disk  
└─md126       9:126  0  13.8T  0 raid0 /mnt/InternalPhase
sdc           8:32   0   7.3T  0 disk  
└─sdc1        8:33   0   7.3T  0 part  /mnt/InternalFBE

চালানোর lsof | grep '9,126'সঙ্গে :প্রতিস্থাপন ,উপরে ডিস্ক সংখ্যা তুলনায়। আমার ক্ষেত্রে এটি প্রদর্শিত হয়:

bash      389162            root  cwd       DIR              9,126      4096  449183796 /mnt/InternalPhase/0000000001/CHANNEL01/LIVE/PHASE/DATA/2018/10/04

389162এই প্রক্রিয়াটি মেরে পিআইডি দিয়ে ব্যবহার করে:

kill -9 389162

-1

সমস্যাটি হ'ল সিস্টেমে ডিস্ক বাফারগুলি থেকে ডিস্কে ডেটা ফ্ল্যাশ করতে হবে ডিফল্টরূপে 5 সেকেন্ড বা তার বেশি। এইভাবে যদি ডিস্কটি ডাউন হয়ে যায় তবে ফ্লাশ হওয়ার দরকার পরে আবার ব্যাক আপ করা ছাড়া অন্য বিকল্প থাকবে না। সুতরাং সমস্যাটি পুরোপুরি স্পিন ডাউনগুলি বা ডিস্ক পাওয়ার ম্যানেজমেন্ট বৈশিষ্ট্যগুলি অক্ষম করা ব্যতীত অন্যথায় এড়াতে পারা যায় না hdparm -B 255 /dev/hdax। এটি প্রায়শই পুনঃসূচনা করার কারণে সম্ভবত আরও ভাল বিকল্পটি হ'ল সব সময় থাকা ছাড়া নিশ্চিতভাবেই আরও বেশি ক্ষয়ক্ষতি হতে পারে।


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