একটি হার্ড ডিস্ক ঘুম করুন এবং প্রয়োজনে কেবল জাগ্রত করুন


10

আমি আমার কম্পিউটারে অন্য একটি হার্ড ডিস্ক সংযোগ করতে চাই, যা আমি সময়ের 99% ঘুমাতে চাই। আমি এটি কেবল কয়েকটি জিনিসের জন্য ব্যবহার করব তবে আমার এটি সর্বদা মাউন্ট করা দরকার।

এটি অর্জন করতে আমি জানতে চাই:

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

উত্তর:


13

ঘুমের ব্যবধানটিকে "এপিএম" (অটোমেটিক পাওয়ার ম্যানেজমেন্ট) এবং স্পিনডাউন_টাইম বলা হয়। এটি এর hdparmমতো নিয়ন্ত্রণ করা হয় :

hdparm -B 50 -S 36 /dev/disk/by-label/BACKUP-HDD

এটি আপনার এইচডিডি ~ 3 মিনিট নিষ্ক্রিয়তায় স্পিনডাউন করে দেবে।


4

আপনি যেমন লিনাক্সে রয়েছেন, আপনি নতুন fatraceইউটিলিটিটি ব্যবহার করতে পারবেন যা প্রতিটি ফাইল অ্যাক্সেস লগ করে এবং কোন প্রক্রিয়াটি দায়ী তা আপনাকে বলে:

https://launchpad.net/fatrace

এখানে আরও তথ্য:

http://www.piware.de/2012/02/fatrace-report-system-wide-file-access-events/

এটি লিনাক্স কার্নেল ২.6.৩7 থেকে লিনাক্স ফ্যানোটাইফাই এপিআই ( আরও বিশদ ) উপলব্ধ করে।

fatrace জুলাই ২০১৪ পর্যন্ত সমস্ত ডিস্ট্রিবিউশন দ্বারা প্যাকেজ করা হয়নি (এটি সম্প্রতি ডিবিয়ান পরীক্ষায় প্রবেশ করেছে, সুতরাং 'জেসি'তে পাঠানো উচিত) তবে উত্স থেকে ইনস্টল করা সহজ।


1
"বেশিরভাগ" বিতরণ দ্বারা আপনি কী বোঝেন তা আমি জানি না। যথারীতি ডেবিয়ান হ'ল কিছু পাওয়ার জন্য শেষ ডিস্ট্রো। আমি ফেডোরায় এটি বেশ কিছু সময়ের জন্য উপলব্ধ ছিলাম ...
মাইকেল হ্যাম্পটন

3

http://en.wikedia.org/wiki/Fuser_%28Unix%29 - fuser একটি UNIX কমান্ড যা কোন প্রসেস নির্দিষ্ট ফাইল, ফাইল সিস্টেম বা সকেট ব্যবহার করছে তা প্রদর্শন করতে ব্যবহৃত হয়।

http://sourceforge.net/projects/hdparm/ - লিনাক্সের অধীনে এটিএ / সাটা ড্রাইভের প্যারামিটারগুলি পান / সেট করুন (-S বিকল্পের সন্ধান করুন)

http://sg.danny.cz/sg/sg3_utils.html - sg3_utils প্যাকেজে এমন ইউটিলিটি রয়েছে যা ডিভাইসে এসসিএসআই কমান্ড প্রেরণ করে। পাশাপাশি ট্রান্সপোর্টের ডিভাইসগুলি traditionতিহ্যগতভাবে এসসিএসআইয়ের সাথে যুক্ত (এসো_স্টার্ট দেখুন)


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

আমার ধারণা hdparam কি আমি ঘুমের আগে অপেক্ষা সময় সেটআপ করতে ব্যবহার করব? এবং sg3_utils কেবল একটি শক্তিশালী সরঞ্জাম তবে আমি কি এই ক্ষেত্রে এটি ব্যবহার করব না? (যেমনটি আমি অনুমান করি যে hdparam ব্যবহারের পরে এইচডিডি কখন ঘুমানো উচিত সে সম্পর্কে আমি ম্যানুয়ালি উল্লেখ করতে হবে না?)
মুছে ফেলা হয়েছে

3

btraceবা blktrace(একটি মোড়ানো btrace) ট্র্যাক কার্নেল ব্লক I / O এবং সেখানে আপনাকে সহায়তা করতে পারে।


2

lsof +D /path/to/mount নির্দেশিত পথে কোনও খোলা ফাইল রয়েছে এমন প্রতিটি প্রক্রিয়া আপনাকে দেখাতে হবে।


0

আমি একই সমস্যা আছে। আমার এসএসডি, /dev/sdbওএস (লিনাক্স মিন্ট 18.1 উবুন্টু জেনিয়ালের উপর ভিত্তি করে) এবং এইচডিডি /dev/sdaসহ ডেটা রয়েছে যা আমি সময় সময় ব্যবহার করি। উভয় ডিস্ক এনক্রিপ্ট করা হয়। এইচডিডি এর পার্টিশনগুলি মাউন্ট করা হয়নি। এবং যাইহোক বেশ কয়েক মিনিটের সময়কালে এইচডিডি ঘুম থেকে জেগে থাকে, তারপরে ঘুমায়, আবার জেগে ওঠে। জগাখিচুড়ি।

এখানে সহায়ক উত্তর সহ একটি সদৃশ প্রশ্ন রয়েছে যা auditdখারাপ আচরণ করার প্রক্রিয়াটি সন্ধান করার পরামর্শ দেয় ।

apt-get install auditd
auditctl -w /dev/sda -p rwa

তারপরে আমি এইচডিডি সাথে ঘুমাতে বাধ্য করি hdparm -Y /dev/sda। তারপরে অপেক্ষা করুন যতক্ষণ না আমি এইচডিডি আবার স্পিনিং শুনি। তারপরে দৌড়াও ausearch -f /dev/sda। আমার ক্ষেত্রে এটি নীচের মতো এন্ট্রিগুলি দেখায়।

time->Sat Feb 25 12:38:17 2017
type=PROCTITLE msg=audit(1488022697.651:1744): proctitle=2F7573722F6C69622F756469736B73322F756469736B7364002D2D6E6F2D6465627567
type=PATH msg=audit(1488022697.651:1744): item=0 name="/dev/sda" inode=376 dev=00:06 mode=060660 ouid=0 ogid=6 rdev=08:00 nametype=NORMAL
type=CWD msg=audit(1488022697.651:1744):  cwd="/"
type=SYSCALL msg=audit(1488022697.651:1744): arch=c000003e syscall=2 success=yes exit=12 a0=f3fb90 a1=800 a2=7f4745221f64 a3=30 items=1 ppid=1 pid=18520 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="pool" exe="/usr/lib/udisks2/udisksd" key=(null)

প্রাসঙ্গিক অংশটি হ'ল exe = "/ usr / lib / udisks2 / udisksd" । যদিও আমারও ছিল smartmontoolsযার smartdঅপরাধীও ছিল। আমি আনইনস্টল smartmontoolsকরে udisk2দিয়ে পরিষেবা বন্ধ করে দিয়েছি service udisks2 stop। এরপরে এইচডিডি আশানুরূপ ঘুমায়।

নোটটি udisks2স্বয়ংক্রিয়ভাবে শুরু হবে যখন আমি উদাহরণস্বরূপ, ডিস্ক অ্যাপ্লিকেশনটি খুলি , সুতরাং আমাকে এটি আবার বন্ধ করতে হবে। আরেকটি নেতিবাচক দিকটি হ'ল স্মার্ট পরামিতিগুলি উভয় ডিস্কের জন্য পর্যবেক্ষণ করা হয় না, যা ভাল নয় তবে একটি কাজের হিসাবে এটি উপযুক্ত fits

এছাড়াও এক জিনিস যে স্পষ্ট নয়, যে এই হল বাগ রিপোর্ট বলছে udisks2পোলিং ডিস্ক যা এখন কার্নেল দ্বারা সম্পন্ন করা হয় করি না। কিন্তু প্রমাণগুলি তার বিপরীত ইঙ্গিত দেয় বলে মনে হয়।

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