আমি যখন পেনড্রাইভে কোনও ফাইল অনুলিপি করছি তখন আমার পিসি হিমশীতল কেন?


61

আমার এখানে সত্যিই এক অদ্ভুত পরিস্থিতি আছে। আমার পিসি কমপক্ষে বেশিরভাগ ক্ষেত্রেই ঠিকঠাক কাজ করে তবে একটি জিনিস আছে যা আমি মোকাবেলা করতে পারি না। আমি যখন আমার পেনড্রাইভ থেকে কোনও ফাইল অনুলিপি করার চেষ্টা করি তখন সবকিছু ঠিক থাকে - আমি 16-19M / গুলি পেয়েছি, এটি বেশ ভালভাবে কাজ করে। কিন্তু যখন আমি একই পেনড্রাইভে কিছু অনুলিপি করার চেষ্টা করি তখন আমার পিসি হিমশীতল হয়। মাউস পয়েন্টারটি এক সেকেন্ডের জন্য চলতে থামে, তারপরে এটি কিছুটা এগিয়ে যায় এবং এটি আবার থামে। যখন কোনও কিছু বাজানো হয়, উদাহরণস্বরূপ, আমারোক-এ শব্দটি মেশিনগানের মতো কাজ করে। গতি 500K / s থেকে 15M / s, গড় 8M / s এ লাফায়। এটি তখনই ঘটে যখন আমি কোনও পেনড্রাইভে কিছু অনুলিপি করি। অনুলিপি করার প্রক্রিয়াটি শেষ হয়ে গেলে, সমস্ত কিছু স্বাভাবিক অবস্থায় ফিরে আসে।

আমি সমস্ত কিছু চেষ্টা করেছি - অন্যান্য পেনড্রাইভ, সামনের প্যানেলে একটি ভিন্ন ইউএসবি পোর্ট বা পিছন থেকে এই বন্দরগুলি, আমি এমনকি মাদারবোর্ডে (সামনের প্যানেল) ইউএসবি পিনগুলিও পরিবর্তন করেছি, তবে আমি যেখানে আমার ইউএসবি স্টিকটি রেখেছি না কেন, সবসময় একই থাকে। আমি বিভিন্ন ফাইল সিস্টেম চেষ্টা করেছে - fat32, ext4। আমার ল্যাপটপে উইন্ডোজে থাকা ডিভাইসটি নিয়ে আমার কোনও সমস্যা নেই। এটি আমার পিসি বা আমার সিস্টেমে কিছু হতে হবে। কী সন্ধান করব তা আমার ধারণা নেই। আমি স্ট্যান্ডলোন ওপেনবক্সের সাহায্যে ডেবিয়ান টেস্টিং ব্যবহার করছি। আমার পিসি এক ধরণের পুরানো - পেন্টিয়াম ডি 3 জিএইচজেড, 1 জিআইবি র‌্যাম, 1,5TB ডাব্লুডি গ্রীন ডিস্ক। আপনার যদি এমন কিছু থাকে যা আমাকে এই সমস্যাটি সমাধান করতে সহায়তা করবে তবে আমি তা শুনে খুশি হব।

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

আমি এই সমস্যাটি উবুন্টু 13.04 লাইভ সিডিতে পুনরুত্পাদন করার চেষ্টা করেছি। আমি আমার এনক্রিপ্ট করা পার্টিশন + এনক্রিপ্ট হওয়া স্বাপটি মাউন্ট করেছি এবং আমার পেনড্রাইভকে একটি USB পোর্টের সাথে সংযুক্ত করেছি। এরপরে আমি কয়েকটি অ্যাপ্লিকেশন শুরু করার চেষ্টা করেছি এবং এখন আমার কাছে র‍্যামে M 820MiB এবং সোয়্যাপে প্রায় 400MiB রয়েছে। অনুলিপি করতে কোনও সমস্যা নেই, মোটেও জমে নেই, সবকিছু যেমনটি হওয়া উচিত তেমন। সুতরাং, দেখে মনে হচ্ছে এটি সিস্টেমের একটি দোষ, তবে ঠিক কোথায়? এমন অদ্ভুত আচরণের কারণ কী হবে?


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

আমার এইচডি ঠিক আছে, কমপক্ষে স্মার্ট তাই বলুন (সম্পূর্ণ স্ক্যানের পরে)।
মিখাইল মরফিকভ

অনুলিপি প্রক্রিয়াটির IO অগ্রাধিকার হ্রাস করার চেষ্টা করুন, যেমন ionice -c3 cp something.tgz /media/pendrive। এটি সদ্য তৈরি হওয়া cpপ্রক্রিয়াটিকে তৃতীয় (= সর্বনিম্ন) অগ্রাধিকার শ্রেণিতে "নিষ্ক্রিয়" রাখবে।
n.st

আমি এটি চেষ্টা করেছিলাম, কিন্তু এর কোনও প্রভাব নেই।
মিখাইল মরফিকভ

@ মিখাইলমর্ফিকভ এফওয়াইআই, এই সমস্যাটি লিনাক্স ৪.৯ এ সম্বোধন করা হয়েছিল। তবুও নিজেকে ঠিক করে নিই না। YMMV।
Seamus কোনার

উত্তর:


85

আপনি কি অনেক স্মৃতি সহ লিনাক্সের একটি -৪-বিট সংস্করণ ব্যবহার করছেন? সেক্ষেত্রে সমস্যাটি হতে পারে যে লিনাক্স ধীরে ধীরে ডিভাইসে বড় লেখার জন্য কয়েক মিনিটের জন্য লক করতে পারে যেমন এসডি কার্ড বা ইউএসবি স্টিক। এটি একটি পরিচিত বাগ যা নতুন কার্নেলগুলিতে স্থির করা উচিত।

Http://lwn.net/Articles/572911/ দেখুন

কার্যকারণ: মূল সমস্যা হিসাবে:

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

আমি এটি /etc/rc.localআমার 64 বিট মেশিনে আমার ফাইলে যুক্ত করেছি ।

ট্যানস্টাএফএল ; এই পরিবর্তনটি (এবং সম্ভবত) এই ডিভাইসগুলিতে আপনার থ্রুপুটকে হ্রাস করতে পারে --- এটি বিলম্ব এবং গতির মধ্যে একটি আপস। আগের আচরণ ফিরে পেতে আপনি করতে পারেন

echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes

... যা পূর্বনির্ধারিত মান, মানে রাইটব্যাক আচরণ প্যারামিটার dirty_ratioএবং দ্বারা নিয়ন্ত্রিত হবে dirty_background_ratio

লিনাক্স বিশেষজ্ঞ-না-বিশেষজ্ঞের জন্য নোট করুন: ফাইলগুলি /proc সিউডোফাইলস --- কেবল কার্নেল এবং ব্যবহারকারীর স্থানের মধ্যে যোগাযোগের চ্যানেল। এডিটগুলি পরিবর্তন বা তাদের দেখার জন্য কখনও ব্যবহার করবেন না; পরিবর্তে একটি শেল প্রম্পট পান --- উদাহরণস্বরূপ, sudo -i(উবুন্টু স্বাদ) সহ su rootএবং এবং ব্যবহার echoএবং cat)।

আপডেট করুন 2016/04/18 দেখে মনে হচ্ছে, সর্বোপরি, সমস্যাটি এখনও এখানে রয়েছে। আপনি লিটব্যাক সারি সম্পর্কে এই নিবন্ধে , এটি LWN.net এ দেখতে পারেন ।


3
আমার কাছে 64 বিট তবে কেবল 1 জিবিবি র‌্যাম রয়েছে এবং আমি আপনাকে এই সমাধানটি কাজ করতে বলব! আমি কেবল এটি পরীক্ষা করেছি এবং দুটি পরামিতি সেট করার পরে আর কোনও জমে নেই। :)
মিখাইল মরফিকভ

1
আমার 14.04 ইনস্টলেশনে, uname -aফিরে আসে 3.13.0-32-generic, তাই হ্যাঁ। তবে আমি পরীক্ষা করে দেখিনি যে ইস্যুটির প্যাচটি শেষ পর্যন্ত কার্নেলের সাথে সংহত হয়েছিল কিনা। আমার একটি 16 গিগাবাইট মেশিন রয়েছে এবং এটি workaround ছাড়া ঠিকঠাক বলে মনে হচ্ছে, যদিও আমাকে বলতে হবে যে আমি বিশেষত ধীর ডিভাইস দিয়ে চেষ্টা করি নি।
রোমানো

1
@ আয়নিকবিজাউ --- এটি সিউডো-ফাইল, এটি vim কখনও কখনও সম্পাদনা করবেন না । একটি রুট শেল (সহ sudo -i) পান এবং উপরোক্ত আদেশগুলি ব্যবহার করুন।
রোমানো

1
@ রুমানো এটি কাজ করেছে! তবে আমি ভিআইএম দিয়ে এটি সম্পাদনা করেছি। ধন্যবাদ!
আয়নিক বিজাউ

2
আমি একদম নতুন ল্যাপটপে (16 গিগাবাইট র‌্যাম সহ) উবুন্টু 16.04 ব্যবহার করছি। আমি এই ইস্যুতে সত্যিই রেগে গিয়েছিলাম। আপনার সমাধান একটি কবজ মত কাজ! সম্ভবত আপনি যোগ করতে পারেন যে এটি এখনও কার্নেল 4.8.0-45 এর সাথে প্রয়োজন হতে পারে।
LGenzelis

3

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

আপনার বর্তমান সেটিংটি পরীক্ষা করে দেখুন:

cat /sys/block/sd**X**/device/max_sectors

আপনি এই ডিভাইসগুলির জন্য হল নিয়মগুলিকে টিউন করতে পারেন:

পুরো ডিভাইসের পরিবারের জন্য ইউএসবি "ম্যাক্স_সেক্টর" এর মান পরিবর্তন করুন

এই ক্ষেত্রে আমি সমস্ত ডিভাইসের জন্য ম্যাক্স_সেক্টরগুলি প্রতিস্থাপন করেছি, যা 240 (ইউএসবি স্টোরেজ) এর ডিফল্ট 32K সেক্টর বা 2 কে সেক্টরে ব্যবহার করেছিল।

আমার সিস্টেমে (ম্যাগিয়া 4, 3.14.24 কোর আই 7) আমি কিংস্টন ডিটি 101 জি 2 16 জিবিতে ভয়াবহ ধীরে লেখার গতি (2 এমবি / সেকেন্ড) করতে হয়েছিল:

vi /usr/lib/udev/rules.d/81-udisks_maxsect.rules

এবং যোগ করুন:

SUBSYSTEMS=="scsi", ATTR{max_sectors}=="240", ATTR{max_sectors}="32678"

এবং ddলেখার গতি 3x গুণ বেড়ে গেছে। mc cpসম্ভবত 10-20x আপ (আমি 8192'th সেক্টর @ প্রথম পার্টিশন শুরু করার পরে এবং 64k সারিবদ্ধ ক্লাস্টারগুলির সাথে পুনরায় ফর্ম্যাট করার পরে):

fdisk -u /dev/sdh # make DOS compat off if on
mkfs.vfat /dev/sdh1 -n KINGSTON16G -s 128 **-R 4592*** and use *fsck.vfat -v /dev/sdh1

সারিবদ্ধতা পরীক্ষা করতে (চেক [ডেটা শুরুর ক্ষেত্র] 128 (ক্লাস্টারের আকার) এর একাধিক হওয়া উচিত)। প্রয়োজনে সংরক্ষিত সেক্টরের সংখ্যা (-আর) সমন্বয় করুন।

ডিফল্ট সর্বাধিক সেক্টর (240) কিছু সস্তা নতুন ড্রাইভগুলিতে উচ্চ লেখার প্রশস্তি ঘটায় বলে মনে হচ্ছে। তবে এই জাতীয় উচ্চ সেটিং সম্পর্কে খুব সতর্কতা অবলম্বন করুন, অনুরূপ প্রভাব 2048 সেক্টরে অর্জন করা হয়েছে (সম্ভবত 1 এম মুছা ব্লকগুলি:

SUBSYSTEMS=="scsi", ATTR{max_sectors}=="240", ATTR{max_sectors}="2048"

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


1

হার্ডওয়্যার বনাম সফ্টওয়্যার

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

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

কি করো?

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

এর বাইরে যা আমি প্রস্তাব করতে পারি তা হ'ল এটি নিশ্চিত করা যে আপনি অন্য অনুলিপিটি চলার সময় ফাইলগুলি অনুলিপি করার চেষ্টা না করে এই পরিস্থিতি এড়িয়ে চলেছেন।

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

আর কিছু?

আপনি যদি সত্যই অবসন্ন হন তবে আপনি যে অ্যাপ্লিকেশনটি অনুলিপিটি দিয়ে যাচ্ছেন সেটিকে চালানোর চেষ্টা করতে পারেন straceযা সিস্টেম কল হিমশীতল যা কিছু সিস্টেম কল করার আশায় through আপনার কমান্ড লাইন থেকে এটি করতে সক্ষম হওয়া উচিত।

উদাহরণ

$ strace -o cp1.log cp -r /path/to/dir1 /path/to/usb/. 

তারপরে যে চলমান অন্য একটি শুরু।

$ strace -o cp2.log cp -r /path/to/dir2 /path/to/usb/. 

আশা করা যায় এই অপারেশন চলাকালীন সিস্টেমটি হিমশীতল হয়ে যাবে এবং সম্ভবত আপনি ভাগ্যবান হবেন এবং সেই লগ ফাইলগুলির মধ্যে যে কোনও একটিতে আপনি কিছু ধোঁয়া খুঁজে পাবেন।


আমি সর্বদা ফাইল অনুলিপি করার একমাত্র উদাহরণ ব্যবহার করি। আমার কাছে বায়োস আপডেট হয়েছে (২০০৮), তার পর থেকে আর কোনও নতুন সংস্করণ নেই। আমি মনে করি এটি BIOS নয়। আমার ডিবিয়ান ডিস্ট্রোও পরীক্ষার শাখায় আপডেট হয়েছে। আমি ব্যবহারের চেষ্টা করেছি straceএবং এটি প্রায় তত্ক্ষণাত্ হিমাঙ্কিত হয়েছিল, তাই আমি কয়েক সেকেন্ড অপেক্ষা করে প্রক্রিয়াটি মেরে ফেললাম। আমি 1 এমবি লগ পেয়েছি, তবে আমি এটি পড়তে পারি না, কী সন্ধান করতে হবে তা আমি জানি না। আপনি এটি এখানে পেস্টবিন. com/u29RvqgC পরীক্ষা করতে পারেন - এটি সম্পূর্ণ লগ (500Kb এর মধ্যে সীমাবদ্ধ নয়), তবে শেষেরগুলিতে কেবল একই ধরণের লাইন ছিল। আমি উবুন্টু লাইভ সিডি দিয়ে এই সমস্যাটি পুনরুত্পাদন করার চেষ্টা করব।
মিখাইল মরফিকভ

সিডি পরীক্ষার লাইভ হিসাবে আমি প্রশ্নটি আপডেট করেছি।
মিখাইল মরফিকভ

@ মিখাইলমারফিকভ - আমি মনে করি আপনি যা করতে পারেন তার শেষে আপনি অনেক বেশি আপনার হার্ডওয়্যারটি বেশ পুরানো (২০০৮) এবং আমি উপরে উল্লিখিত যা কিছু করেছি তার বাইরে আপনি আরও কিছু করতে পারবেন না।
slm

তবে এমনকি পুরানো পিসি কোনও সমস্যা ছাড়াই ফাইলগুলি অনুলিপি করতে সক্ষম হয়।
মিখাইল মরফিকভ

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