আমার এসডি কার্ডটি মন্থর কেন?


23

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

আমি রাস্পবেরি পাইটি একটি হেডলেস বিটটোরেন্ট সিডবক্স হিসাবে ব্যবহার করছি , সুতরাং আমি যে সমস্ত স্টাফটি চালাচ্ছি তা কেবল কমান্ড লাইনে চলছে। সর্বাধিক পরিমাণে মেমরি উপলব্ধ রয়েছে তা নিশ্চিত করতে আমি 240/16 বিভাজনটি ব্যবহার করছি।

আপডেট

@ ক্রিজিসটফ অ্যাডামস্কি "ডিডি" এর সাথে প্রস্তাবিত হিসাবে কিছু পরীক্ষা চালানোর পরে, আমি 20 এমবি / সেকেন্ডের পড়ার গতি এবং প্রায় 10 এমবি / সেকেন্ডের লেখার গতি পেয়ে কিছু ভাল ফলাফল পেয়েছি। তবে এটি এখনও কিছু আই / ও গতির সমস্যা নিয়েছে বলে মনে হচ্ছে। পরীক্ষা করার সময়, আমি ব্যাকগ্রাউন্ডে "ডিডি" কমান্ডগুলি চালিয়েছি এবং শীর্ষস্থানটি দৌড়েছি যা চলছে তা দেখার জন্য। আমি লক্ষ্য করেছি যে "এমএমসিকিডি" প্রক্রিয়াটি 5% থেকে 10% এর মধ্যে বেশ কিছুটা প্রসেসরের ব্যবহার গ্রহণ করে। আমি ইন্টারনেটে ঘুরে দেখলাম এবং এমন অনেক লোকের প্রতিবেদন পাওয়া গেছে যে "এমএমসিকিডি" সিপিইউর বেশিরভাগ অংশ ব্যবহার করে। আমি তখন একই সাথে পড়া এবং লেখার পরীক্ষা করার জন্য নিম্নলিখিত কমান্ডটি চালিত করেছি

sudo dd if=/dev/mmcblk0 of=test.dat bs=1M count=1024

এই কমান্ডটি চালানোর সময় আমি কেবল 977 কেবি / সেকেন্ডের আউটপুট পেয়েছি এবং "এমএমসিএইচডি" প্রতি 5 থেকে 10 সেকেন্ডে 10% থেকে 25% এর মধ্যে প্রসেসরের ব্যবহারের কথা জানিয়েছে, তারপরে এটি কিছুতেই ফিরে যাবে না। সুতরাং, আমি আরও কিছু পরীক্ষা করেছি। আমি ব্যাকগ্রাউন্ডে নিম্নলিখিত দুটি কমান্ড চালিয়েছি এবং তারপরে যা চলছে তা দেখুন।

sudo dd if=/dev/mmcblk0 of=/dev/null bs=1M count=1024 &
sudo dd if=/dev/zero of=test.dat bs=1M count=1024 &

এই ক্ষেত্রে "এমএমসিএইচডি" প্রায় 35% প্রসেসরের ব্যবহার শিখতে পারে তবে লেখার জন্য থ্রুপুট প্রায় 7.5 এমবি / এস এবং প্রায় 5.3 এমবি / সেকেন্ডে অনেক ভাল ছিল।

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


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

আপনি কি এমএমসি ডিভাইস সম্পর্কিত বার্তাগুলির জন্য সিসলগ এবং কার্নেল লগ চেক করেছেন? কিছু কার্ড কেবল রাস্পবেরি পাইতে কাজ করে না। কিছু অন্যের নির্ভরযোগ্যভাবে কাজ করতে কিছুটা টুইট করার প্রয়োজন।
জোপপে

এসডি কার্ডের লিঙ্কটি সরানো হয়েছে
ray023

1
@ রায়023 ধন্যবাদ আমি লিঙ্কটি আপডেট করেছি। ভবিষ্যতে, আপনি কেবল প্রশ্নটি সম্পাদনা করতে পারেন। আমি মনে করি যেহেতু আপনি নতুন, সম্পাদনাটি এখনই নেওয়া হবে না, তবে অনুমোদিত পোস্টার বা অন্য কোনও উচ্চ প্রতিনিধি ব্যবহারকারীর অনুমোদনের জন্য সংরক্ষণ করা হবে।
কিব্বি

উত্তর:


21

পরীক্ষার কার্ড পড়ার গতি:

পড়ার গতি পরীক্ষা করার জন্য দুটি সহজ উপায় আছে (তালিকা নির্দেশিকা কেবল একটি পঠন অপারেশন):

  • ডিডি কমান্ড ব্যবহার করে:

    sudo dd if=/dev/mmcblk0 of=/dev/null bs=8M count=100

    এটি আপনার এসডি কার্ড থেকে 800MB ডেটা পড়বে এবং এটিকে / dev / নাল এ ফেলে দেবে। যদি এটি বেশি সময় নেয় তবে আপনি কেবল 80MB পড়তে গণনা = 100 কে গণনা = 10 পরিবর্তন করতে পারেন। কমান্ড শেষ হওয়ার পরে এটি পড়ার গতি সহ একটি বার্তা মুদ্রণ করা উচিত। আপনার কমপক্ষে দু'জন এমবি / সেকেন্ড করা উচিত।

  • hdparm কমান্ড ব্যবহার করে:

    sudo hdparm -t /dev/mmcblk0

    এটি আপনাকে প্রথম আদেশ হিসাবে একই গতির ফলাফল দেয় এবং কমপক্ষে এমবি / সেকেন্ডেরও হওয়া উচিত।

পরীক্ষার কার্ড লেখার গতি:

লেখার গতি পরীক্ষা করার কোনও সহজ উপায় নেই কারণ এটি আপনাকে আসলে কার্ডে কিছু ডেটা লিখতে হবে। আপনি যদি নিম্ন স্তরের (ফাইল সিস্টেম বাদ দিয়ে) এটি করতে চান তবে আপনাকে কার্ডের কিছু তথ্য ওভাররাইড করতে হবে এবং আপনি সম্ভবত এটি করতে চান না। এই যদি swap পার্টিশন আছে যেমন সহজে (সঙ্গে নিষ্ক্রিয় করা যেতে পারে কাজ করা যেতে পারে swapoff -a,) ডিডি (সঙ্গে পরীক্ষিত dd if=/dev/zero of=/dev/{yourswappartitionnanehare} bs=8M count=25) এবং তারপর (সঙ্গে recreated mkswap /dev/{yourswappartitionnanehare})।

আপনার যদি অদলবদল বিভাজন না থাকে আপনি dd কমান্ড ব্যবহার করে ফাইলসাইম রাইটিং স্পিড পরীক্ষা করতে পারেন:

ডিডি যদি = / দেব / শূন্য = / হোম / পাই / টেস্টফিল বিএস = 8 এম গণনা = 25

এটি 200MB ফাইল তৈরি করবে /home/pi/testfile। আপনি চান অন্য যে কোনও ফাইলের নাম ব্যবহার করতে পারেন।

নোট:

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

আমার অভিনন্দন। একটি ম্যাকবুক এয়ারে আমি ক্লাস 6 4 জিবি এসডি কার্ডে একটি ইমগ ফাইল লেখার সময় 1.4 এমবি / সেকেন্ড পেয়েছি। পিআই-তে একটি পঠন পরীক্ষা 20 এমবি / সেকেন্ডের রিপোর্ট করেছে !?
স্ক্রোলারব্লাস্টার

আমার একই জিনিস আছে। আমার পড়ার গতি 500MB / সেকেন্ডের মতো কিছু। আমি কি কিছু ভুল করছি?
ডার্কেস্ট

12

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

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

Iozone টুল বিভিন্ন এক্সেস নিদর্শন গতি পরিমাপ করে। আমি এখানে রাস্পবেরিতে আইওজোন সংকলনের জন্য সংক্ষিপ্ত নির্দেশনা পোস্ট করেছি ।


2
আকর্ষণীয় উত্তর। সুন্দর.
জিভিংস

আমি মাত্র 4x ক্লাস 10 কিনেছি বলে খুব আকর্ষণীয় ... ডাং! :-(
বার্গগ্রিনডি কে

@ বার্গগ্রিনডি কে : ভবিষ্যতে হয়ত আপনি অন্য কোনও উদ্দেশ্যে কার্ডগুলি ভালভাবে ব্যবহার করেন এবং তারপরে সম্ভবত আপনি দশম শ্রেণির কার্ড কিনে খুশি হবেন।
নেভারল্যান্ড

1
বুট সিকোয়েন্স বা ডিরেক্টরি তালিকার মতো সাধারণ কাজগুলিতে এলোমেলো লেখার গতিতে খুব কম প্রভাব ফেলতে হবে। এমনকি টরেন্টের জন্যও, 4KB রাইটের সাথে পরীক্ষার ফলাফলগুলি অপ্রাসঙ্গিক: সাধারণত খণ্ড আকারগুলি 1MB এর কাছাকাছি হয় এবং আপনার যদি নিখরচায় র‍্যাম না থাকে, ডিস্ক ক্যাশে এগুলি আরও বৃহত্তর অনুক্রমিক লেখায় ভাগ করে দেবে।
দিমিত্রি গ্রিগরিয়েভ

0

রাসপিআই অনবোর্ড স্লটের জন্য রাসপিআই সাইটে একটি বিশাল আলোচনা রয়েছে: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=5057&sid=ee346e3e7cea48d2858a143bcf086362

আলোচনার 12 পৃষ্ঠাগুলির মধ্য দিয়ে সমস্ত পড়ার সময় পাননি, তবে এটি সিএলকে সিগন্যালে সমস্যা বলে মনে হচ্ছে।


0

আপনি "বিটোরেন্ট" লিখুন এবং এটি আমার অনুমান / উত্তরকে ট্রিগার করে।

টরেন্ট প্রোটোকল এলোমেলো ক্রম থেকে র্যান্ডম ক্রমগুলি থেকে প্যাকেজগুলি গ্রহণ করে।

একবার আপনি কোনও ফাইল সিস্টেমে টরেন্ট ব্যবহার শুরু করলে এটি বরং খণ্ডিত হয়ে যায়। এটি বিগ টাইম পারফরম্যান্সকে আঘাত করবে।

আমি SDCARD সম্পর্কে যা জানি তা থেকে এর চলমান FAT / FAT32 এবং খণ্ডগুলি পরিচালনা করার জন্য আরও খারাপ।

সুতরাং আপনার SDCARD ডিফল্টমেন্টের একটি উপায় সন্ধান করুন, বা এটি থেকে দূরে সমস্ত ফাইল অনুলিপি করুন এবং তারপরে ওএস পুনরায় ইনস্টল করুন।

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

আমি আশা করি এমন টরেন্ট ক্লায়েন্ট ছিল যা ডাউনলোড + "সংরক্ষিত আপলোডের সময়" শেষ হয়ে গেলে ডাউনলোড করা ফাইলগুলিকে স্বয়ংক্রিয়ভাবে পুরো অন্য গন্তব্যে স্থানান্তরিত / সরিয়ে নিয়ে যায়।

তারপরে ডিফ্র্যাগমেন্টিং অনেক দ্রুত চলে যেত।


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

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

1
আরপিআই এমনকি FAT / FAT32 ব্যবহার করে না। ফাইল সিস্টেমটি EXT4।
কিব্বি

3
উত্তরের উত্তরটি একটি ভাল পয়েন্ট রয়েছে সম্ভবত র্যান্ডম ক্রমে ছোট ছোট টুকরাগুলিতে ফাইলগুলিতে ডেটা লিখে writes এসডি কার্ডগুলিতে এ জাতীয় এলোমেলো রচনা অত্যন্ত অদক্ষ। তবে আমি মনে করি না ডিফ্র্যাগমেন্টিং সাহায্য করবে। আসলে, ফাইটি পাইতে ব্যবহৃত হয়, তবে কেবল বুট বিভাজনের জন্য।
ফ্রেপা

1
@ কিব্বি: এসডি কার্ডগুলির নিজস্ব বিভাজন সংক্রান্ত সমস্যা কেন তা বুঝতে আমার উত্তরটি raspberrypi.stackexchange.com/questions/8850/… দেখুন । শারীরিক ডিস্কের খণ্ডন (যেমন প্রাক-বরাদ্দকৃত ফাইলগুলি) এড়াতে পারে এমন অনেকগুলি সফ্টওয়্যার কৌশল এসডি কার্ডগুলির সাথে অকার্যকর, যেহেতু সেক্টরগুলি যখন তাদের কাছে ডেটা লিখিত হয় তখন তাদের বরাদ্দকরণের পরিবর্তে স্থাপন করা হয় (বা সরানো হয়)।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.