'বিড়াল' কেন এই অদ্ভুত সময়ের আচরণ করেছে?


8

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

আমার সমস্যা: আমি যখনই আমার কাছে মোট ছয়টি ফাইল পেয়েছি তখন আমি তাদের শিখরগুলি বোঝাতে সময় লাগে (অর্থাত পাঁচ বা সাতজনের চেয়ে উল্লেখযোগ্যভাবে বেশি) এবং কেন তা আমার কোনও ধারণা নেই।

কারও ধারণা আছে?

ফাইলগুলি (সমস্ত একই আকার)

output
outputTEMP1
outputTEMP2
outputTEMP3
outputTEMP4
outputTEMP5

হুকুম

cat outputTEMP* >> output && rm -f outputTEMP*

বর্তমানে, মেশিনটিকে কিছু গণনা করতে হবে, তবে নতুন পরিমাপ পাওয়া গেলে আমি পরে আপডেট করব।


আপনি যে সঠিক কমান্ড লাইনটি ব্যবহার করছেন তা কী?
innaM

আমি কমান্ড লাইন যুক্ত করেছি।
ব্র্যান্ডস্টেটার

এটি অবশ্যই বিজোড়। এটি কেন এইভাবে কাজ করে তা আমি আপনাকে বলতে পারছি না তবে সম্ভবত আপনার একটি সরল পাঠ্য বাগ রিপোর্টটি bug-coreutils@gnu.org এ ফাইল করা উচিত।
রেনল্ডস 16

এটা মাপো! এবং নিশ্চিত করুন যে আপনি যখন পরিমাপ করছেন তখন আপনি ক্যাশে করছেন না!
ডেভিড

উত্তর:


4

এই সমস্যার ডিবাগ করার একটি উপায় হ'ল স্ট্রেস ব্যবহার করা।

strace -tt -e trace=open,close -o /tmp/strace.cat.log cat apt.list authors.txt >/tmp/t.test
cat /tmp/strace.cat.log 

23:12:08.022588 open("apt.list", O_RDONLY|O_LARGEFILE) = 3
23:12:08.023451 close(3)                = 0
23:12:08.023717 open("authors.txt", O_RDONLY|O_LARGEFILE) = 3
23:12:08.025403 close(3)                = 0

-t বিকল্পটি মিলি-সেকেন্ডের রেজোলিউশনে সিস্টেম কলের স্ট্যাম্প লগ করে। -e ট্রেস = খোলা, বন্ধ লগ কেবল খোলা, বন্ধ করুন এপিআই। এগুলি সরানোর চেষ্টা করুন এবং আপনি একটি খুব গোলমাল লগ ফাইল দেখতে পাবেন।


2

সুতরাং ডেভিডস মন্তব্য স্পট হয়। সঠিক মূল্যায়ন করতে আমাদের এখানে দুটি জিনিস দরকার:

  1. আশ্বাসের ক্যাচিং দৃশ্যটির অংশ নয়
  2. এটি গ্রহণ করা সময়ের প্রকৃত পরিমাপ।

আপনার কাছে ডিস্কের স্থান রয়েছে বলে ধরে নিলাম আমি একটি পরীক্ষার দৃশ্যের বর্ণনা দেব যা এটি সত্যিকারের সমস্যা কিনা তা আরও সঠিকভাবে নির্ধারণ করব। যদি তা হয় তবে এই পদ্ধতির সমর্থনকারী প্রমাণগুলি বিকাশকারীদের এটি বাস্তব এবং এটি পুনরুত্পাদন করতে সক্ষম হতে সহায়তা করবে।

সমস্যা বিচ্ছিন্নতার সাথে সহায়তা করতে আসুন এখানে আরএম অংশটি মোটেও না করি। টিএমপি ফাইলগুলি পরে বসতে দিন। আপনি যদি চান তবে পরে 'আরএম' অংশটি করে পরীক্ষাগুলি পুনরাবৃত্তি করতে পারেন।

পরীক্ষার দৃশ্যটি এখানে:

  • 9 ডিরেক্টরি তৈরি করুন - ফাইলগুলির প্রতিটি পরিমাণের জন্য একটি (2 3 4 5 6 7 8 9 এবং 10) - আপনার কাছে জায়গা না থাকলে সম্ভবত 2, 5, 6, 7 এবং 10 করুন do
  • আপনি এই ডিরেক্টরিগুলির প্রত্যেকটিতে ডিফারেন্ট ফাইল স্থাপন করছেন তা নিশ্চিত করুন; কোথাও কোনও সদৃশ নেই
  • টাইম কমান্ডটি এভাবে ব্যবহার করুন:

    সময় (বিড়াল আউটপুটটিএমপি * >> আউটপুট)

আপনার পরিচালিত প্রতিটি পরীক্ষার জন্য রিপোর্ট করা আসল, ব্যবহারকারী এবং সিস নম্বরগুলি ক্যাপচার করুন।

আমি রেনল্ডসের সাথে একমত; যদি এটি আসল হয় তবে আপনার অবশ্যই বিশদটি বাগ-কোয়ার্টিলস@gnu.org এ ইমেল করা উচিত।


আরেকটি চিন্তা: আপনি একই পরিমাণের পরিমাণ আউটপুট ফাইলে অনুলিপি করছেন তা নিশ্চিত করার জন্য। সুতরাং, যদি এটা 1GB মোট, আপনি যে ফাইল 1/2 গিগাবাইট বৃহৎ ছিল আছে '2' ডিরেক্টরির মধ্যে হবে, এবং '10' ডিরেক্টরির মধ্যে আপনি ফাইল করে একটি গিগাবাইট বড়, ইত্যাদি 1 / 10th হয় হবে
pbr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.