কর্মক্ষমতা পরীক্ষার পুনরাবৃত্তি করতে ফাইল ক্যাশে সাফ করুন


106

আমার পারফরম্যান্সের ফলাফলগুলি স্কেঙ্ক হওয়া থেকে রোধ করতে ক্যাশেড ফাইল সামগ্রীগুলি অপসারণ করতে আমি কী কী সরঞ্জাম বা কৌশল ব্যবহার করতে পারি? আমি বিশ্বাস করি যেহেতু আমাকে পুরোপুরি পরিষ্কার করতে হবে, বা ফাইল এবং ডিরেক্টরি বিষয়বস্তু সম্পর্কিত ক্যাশেডা তথ্য নির্বাচন করতে হবে remove

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

আমি যখন ফাইল প্রসেসিংয়ের কাজটি করার জন্য বিভিন্ন কৌশল রচনা করার কাজটি পুনর্বার করি তখন আমি আইও সময়ে দেখতে পাই সেই পরিবর্তনশীলতা সরিয়ে ফেলতে চাই।

আমি মূলত উইন্ডোজ এক্সপি-র সমাধানগুলিতে আগ্রহী, কারণ এটি আমার প্রধান বিকাশ মেশিন, তবে আমি লিনাক্স ব্যবহার করেও পরীক্ষা করতে পারি, এবং সেই পরিবেশের জন্য উত্তরগুলি সম্পর্কেও আগ্রহী।

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



উত্তর:


82

সিসইন্টার্নালের র‌্যামম্যাপ অ্যাপ্লিকেশন ব্যবহার করুন

র‌্যামপ খালি স্ট্যান্ডবাই

খালি / খালি স্ট্যান্ডবাই তালিকা মেনু বিকল্পটি উইন্ডোজ ফাইল ক্যাশে সাফ করবে।


2
র‌্যামপ্যাপ উইন্ডোজ এক্সপিতে চলবে না। এই মেনু বিকল্পগুলি কি সিসিন্টার্নালস ক্যাশেট অ্যাপ্লিকেশনটির "সাফ" বোতাম থেকে আলাদা কিছু করে?
স্টিফেন ডেন

@ স্টিফেন এই কৌশলটি উইন্ডোজ 8 এর অধীনে আমার পক্ষে পুরোপুরি কাজ করেছিল! উইন্ডোজ এক্সপি এখন 12 বছর বয়সী, কোনও কারণেই আপনি ভিস্তা, উইন্ডোজ 7, ​​বা উইন্ডোজ 8 এ চেষ্টা করতে পারবেন না?
জেফ আতউড

@ জেফ আমি আর এই সীমাবদ্ধতা নিয়ে কাজ করি না। সুতরাং "খালি স্ট্যান্ডবাই তালিকা" এর ফলাফলের জন্য সাম্প্রতিক পঠিত ফাইল থেকে ডিস্কের জন্য প্রয়োজনীয় আইও দরকার?
স্টিফেন ডেন

2
ফাঁকা স্ট্যান্ডবাই তালিকা ক্লিক করার পরে ফাইল তালিকাটি রিফ্রেশ করতে F5 টিপুন
জোশজি

3
প্রোগ্রাম পদ্ধতির জন্য, এই পোস্টও দেখুন: stackoverflow.com/a/23085045/430360
snemarch

16

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


আমার জন্য উইন্ডোজ 7 এসপি 1, এক্স 64 এর অধীনে পুরোপুরি কাজ করে। দুর্দান্ত টিপ!
সিএক্সএক্সএল

2
সুতরাং যে প্রতিটি ফাইলের জন্য পুনরাবৃত্তি করা আবশ্যক ? সুতরাং উদাহরণস্বরূপ, আপনি যদি 10 টি সাব-ডিরেক্টরিতে 30 টি ফাইল জুড়ে 100MB সমন্বিত একটি ডিরেক্টরি অনুলিপি করেন, আপনাকে ক্যাশে পরিবর্তে প্রকৃত ডিস্কটি পড়েছেন তা নিশ্চিত করার জন্য আপনাকে অবশ্যই প্রতিটি আলাদা করে খুলতে হবে?
Synetech

সাইটের অন্যান্য উত্তরগুলি এটি উইন 7 এবং 8 তেও কাজ করে। আমার ধারণা এটি ভিস্তার উপর কাজ করে। এবং হ্যাঁ, আপনাকে এটি প্রতিটি ফাইলে চালাতে হবে, তবে এটি এত বেশি সময় নেয় না। আপনাকে যা করতে হবে তা হ'ল প্রতিটি ফাইল খোলা এবং বন্ধ করতে হবে এবং আপনি যখন বন্ধ করবেন তখন উইন্ডোজ ক্যাশে সাফ করে দেয়। আপনি এটি করার পরে, তারপরে আপনি আপনার কর্মক্ষমতা পরীক্ষা চালান।
হাঁসকে 4'14

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

লিনাক্সে অনুরূপ কার্যকারিতা (২.৪.১০ পরবর্তী) ওপেন (2) সিস্টেমে O_DIRECT পতাকা সহ। ভাল, আরও স্পষ্টভাবে, আমি যা বুঝতে পেরেছি, O_DIRECT সেই ফাইলটির জন্য ক্যাশে সাফ করে না, এটি চেষ্টা করে বাইপাস করা ভাল।
কাইওয়ান

14

একটি দ্রুত গুগলিং লিনাক্সের জন্য এই বিকল্পগুলি দেয়

  1. ফাইলগুলি ধারণ করে পার্টিশন আনমাউন্ট এবং মাউন্ট করুন
  2. sync && echo 1 > /proc/sys/vm/drop_caches

2
ধন্যবাদ, এটি খুব দরকারী বলে মনে হচ্ছে, যদিও আমি সম্ভবত 1 এর পরিবর্তে 3 প্রতিধ্বনি করতে চাই I'm আমি মূলত উইন্ডোজ এক্সপিতে আগ্রহী, এ কারণেই আমি আমার গুগলিংটিতে এটি পাইনি।
স্টিফেন ডেন

দুর্ভাগ্যক্রমে আমি যে লিনাক্স পরিবেশটিকে এটি ব্যবহার করতে পারি তার কার্নেল সংস্করণ ২.6.৯ রয়েছে। ড্রপ_ক্যাচগুলি কার্নেল ২.6.১6 এ যুক্ত হয়েছিল
স্টিফেন ডেন

আমি যে অনেকগুলি পোস্ট পড়েছি সেগুলি থেকে বোঝা যায় যে আপনি এটির জন্য সমস্ত চ্যাচড আইটেমগুলি সরিয়ে ফাইলে সিস্টেমটি আনমাউন্ট করতে এবং মাউন্ট করতে পারবেন, আমি ধরে নেব যে এটি ছিল ২.6.১6 এর আগে এবং আরও সাম্প্রতিক কার্নেলের ক্ষেত্রে।
টাফট

12

একটি কমান্ড লাইন ইউটিলিটি এখানে পাওয়া যাবে

উত্স থেকে:

EmptyStandbyList.exe উইন্ডোজ (ভিস্তা এবং উপরে) এর জন্য একটি কমান্ড লাইন সরঞ্জাম যা খালি করতে পারে:

  • কাজের সেট প্রক্রিয়া,
  • পরিবর্তিত পৃষ্ঠার তালিকা,
  • স্ট্যান্ডবাই তালিকা (0 থেকে 7 অগ্রাধিকার), বা
  • অগ্রাধিকার 0 স্ট্যান্ডবাই তালিকা শুধুমাত্র।

ব্যবহার:

EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist

3
সমস্ত গোলমাল, সাধারণ ইউটিলিটি যা একটি কাজ করে এবং এটি ভাল করে তোলে তার মধ্যে উচ্চ আন্ডাররেটেড উত্তর। আপনার প্রাপ্য upvotes পেতে উত্তরে সম্ভবত আরও বিশদ অন্তর্ভুক্ত করা উচিত।
প্রমিথিউস

4
 #include <fcntl.h>

int posix_fadvise(int fd, off_t offset, off_t len, int advice);

পরামর্শ বিকল্প সহ POSIX_FADV_DONTNEED:
নির্দিষ্ট তথ্য অদূর ভবিষ্যতে অ্যাক্সেস করা হবে না।


শুধুমাত্র লিনাক্স এবং অন্যান্য পোস্টিক্সের জন্য, উইন্ডোজের জন্য নয়: স্ট্যাকওভারফ্লো / প্রশ্ন / 29752064/… stackoverflow.com/questions/1201168/...
osgx

3

আমি একটি কৌশল খুঁজে পেয়েছি (রিবুট করা ব্যতীত) যা কাজ করে বলে মনে হচ্ছে:

  1. মেম্যালোকের কয়েকটি অনুলিপি চালান
  2. প্রত্যেকটির সাথে কয়েক বার মেমরির বড় অংশ বরাদ্দ করুন
  3. সিস্টেম ক্যাশে আকার খুব কম স্তরে হ্রাস করতে পর্যবেক্ষণ করতে প্রক্রিয়া এক্সপ্লোরার ব্যবহার করুন
  4. মেম্যালোক প্রোগ্রামগুলি প্রস্থান করুন

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


এর পেজফাইলে স্টাফ ঠেকানোর পার্শ্ব-প্রতিক্রিয়া রয়েছে যা পরে বেশ কিছুক্ষণের জন্য পারফরম্যান্সকে মেরে ফেলবে। আপনি যদি একটি কলডজ অবলম্বন করতে চলেছেন, তবে আপনি পাশাপাশি কিছু অন্যান্য বড় ফাইল পড়তে পারেন; কমপক্ষে এটি কেবলমাত্র ডিস্ক ক্যাশে এবং অন্য কিছুই পরিষ্কার করে।
Synetech

3

উইন্ডোজ এক্সপি ফাইলসিস্টেম ক্যাশে আরও ভাল দেখার জন্য - টিম মুর্গ্যান্টের এটিএম চেষ্টা করুন - এটি আপনাকে আরও আরও বিশদ এবং নির্ভুল দৃষ্টিতে ফাইল সিস্টেম ক্যাশে ওয়ার্কিং সেট আকার এবং স্ট্যান্ডবাই তালিকা আকার উভয়ই দেখতে দেয়। উইন্ডোজ এক্সপি-এর জন্য আপনার এটিএম-এর পুরানো সংস্করণ 1 প্রয়োজন যা ভি 2 এবং ভি 3 এর পরে এখানে ডাউনলোডের জন্য উপলব্ধ সার্ভার 2003, ভিসটা, বা উচ্চতর প্রয়োজন।

আপনি পর্যবেক্ষণ করবেন যে সিসিনটার্নালস ক্যাশেসেট "ক্যাশে ডাব্লুএস মিন" হ্রাস করবে - সত্যিকারের ডেটা এখনও স্ট্যান্ডবাই তালিকার আকারে বিদ্যমান রয়েছে যেখানে সেটিকে অন্য কোনও কিছু দিয়ে প্রতিস্থাপন না করা অবধি ব্যবহার করা যেতে পারে। তারপর কিছু সঙ্গে এটি প্রতিস্থাপন অন্য হিসাবে একটি হাতিয়ার জাতীয় ব্যবহার MemAlloc বা চাদ অস্টিনের flushmem থেকে বা Consume.exe উইন্ডোজ সার্ভার 2003 রিসোর্স কিট সরঞ্জাম


0

প্রশ্নটি যেমন লিনাক্সের জন্য জিজ্ঞাসা করেছিল, এখানে একটি সম্পর্কিত উত্তর রয়েছে

কমান্ড লাইন সরঞ্জাম vmtouch অন্যান্য বিষয়গুলির মধ্যে সিস্টেম ফাইল ক্যাশে থেকে ফাইল এবং ডিরেক্টরিগুলি যুক্ত এবং মুছে ফেলার অনুমতি দেয়।


0

একটি উইন্ডোজ এপিআই কল রয়েছে https://docs.microsoft.com/en-us/windows/desktop/api/memoryapi/nf-memoryapi-sets systemmfilecacheize যা ফাইল সিস্টেম ক্যাশে ফ্লাশ করতে ব্যবহার করা যেতে পারে। এটি খুব সামান্য মানের ক্যাশে আকার সীমাবদ্ধ করতেও ব্যবহার করা যেতে পারে। এই ধরণের পরীক্ষার জন্য নিখুঁত দেখাচ্ছে।

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