विंडोज डिस्क को कैसे साफ़ करें कैश पढ़ें?


13

प्रदर्शन परीक्षण के लिए मुझे विंडोज़ की डिस्क रीड कैशे को साफ़ करना होगा। मैंने गुगली करने की कोशिश की, लेकिन मुझे रिबूट या अन्य मैनुअल सामान के अलावा कुछ नहीं मिला। इससे पहले कि मैं दे दूं और ऐसा करूं, मैं जानना चाहूंगा कि क्या किसी को विंडोज डिस्क को कैश करने का तरीका साफ है। मैं विंडोज 7 पर परीक्षण कर रहा हूं, लेकिन मुझे विंडोज एक्सपी समाधानों में भी दिलचस्पी है।

जवाबों:


3

वैकल्पिक रूप से कैश को उन डेटा से भरें जिन्हें आप जानते हैं कि परीक्षण में उपयोग नहीं किया जाएगा, फिर परीक्षण चलाएं।


1
वैकल्पिक रूप से, आप सभी उपलब्ध रैम ले सकते हैं। Windows उस RAM का उपयोग करने के लिए फ़ाइल कैश जारी करेगा। विवरण के लिए स्टीफन डेने द्वारा प्रदान किया गया उत्तर देखें।
अल्ट्रालिस्क

मैं कुछ कम 'वर्क-अराउंड' की उम्मीद कर रहा था, लेकिन मुझे लगता है कि आपके सुझाव को मेरी स्थिति में एक स्वचालित परीक्षण स्क्रिप्ट में लागू करना सबसे आसान है। सलाह के लिये धन्यवाद।
सेबेस्टियन M

7

मैंने स्टैक ओवरफ्लो पर एक ही सवाल पूछा था

/programming/478340/clear-file-cache-to-repeat-performance-testing

मैं विन XP का उपयोग कर रहा था, लेकिन सबसे अच्छा समाधान जो मैं आया था:

  1. MemAlloc की कुछ प्रतियाँ चलाएँ
  2. हर एक के साथ, कई बार मेमोरी के बड़े हिस्से आवंटित करें
  3. सिस्टम कैश आकार को बहुत कम स्तर तक देखने के लिए प्रोसेस एक्सप्लोरर का उपयोग करें
  4. MemAlloc प्रोग्राम से बाहर निकलें

3

विंडोज एक्सपी फाइलसिस्टम कैश के एक बहुत बेहतर दृश्य के लिए - टिम मुर्गेंट द्वारा एटीएम का प्रयास करें - यह आपको फाइलसिस्टम कैश वर्किंग सेट आकार और स्टैंडबाई सूची आकार दोनों को अधिक विस्तृत और सटीक दृश्य में देखने की अनुमति देता है। Windows XP के लिए - आपको ATM के पुराने संस्करण 1 की आवश्यकता है जो V2 और V3 के बाद से यहाँ डाउनलोड के लिए उपलब्ध है, इसके लिए Server 2003, Vista या उच्चतर की आवश्यकता है।

आप देखेंगे कि हालांकि कैशसेट "कैश डब्लूएस मिन" को कम कर देगा - वास्तविक डेटा अभी भी स्टैंडबाय सूचियों के रूप में मौजूद है, जहां से इसका उपयोग तब तक किया जा सकता है जब तक इसे कुछ और के साथ बदल नहीं दिया जाता है। उसके बाद इसे किसी और चीज़ से बदलें, जैसे कि मेमॉलेक जैसे टूल का उपयोग करें, चाड ऑस्टिन द्वारा फ्लशम, या विंडोज सर्वर 2003 रिसोर्स किट टूल्स से कंस्यूम। Ex।


3

मैंने RAMMap का उपयोग किया है । इसमें कुछ प्रकार के आवंटन से मेमोरी को मुक्त करने की संभावना है।

फ़ाइल कैश की सामग्री "फ़ाइल सारांश" टैब में देखी जा सकती है और "खाली" सूची से "खाली स्टैंडबाई सूची" का चयन करके इस कैश को साफ़ करना चाहिए।


जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
SLM


1

सबसे अच्छा अभ्यास यह सुनिश्चित करना है कि आपके द्वारा बेंचमार्किंग की जाने वाली कोई भी परीक्षण फाइल न्यूनतम न्यूनतम 1 जीबी टेस्ट फाइल के साथ सरणी कंट्रोलर कैश (या विंडोज़ ओएस मेमोरी अगर किसी वीएम गेस्ट में बेंचमार्किंग) की तुलना में 2x बड़ी है। यह सुनिश्चित करता है कि किसी भी कैशिंग को नकार दिया जाएगा। हम डिस्क बेंचमार्किंग के लिए SQLIO का उपयोग करते हैं ; साथ में प्रलेखन में जानकारी का खजाना है।


जिन चीजों को मैं करने की कोशिश कर रहा हूं, उनमें से एक बेंचमार्क है कि हमारा प्रोजेक्ट कितनी तेजी से कई कॉन्फ़िगरेशन पर बनाता है। मैं वास्तव में उन फ़ाइलों के आकार को नहीं बढ़ा सकता जो मुझे लगता है। :)
सेबेस्टियन एम

1

इको ग्रेग, इस समस्या के आसपास काम करने का तरीका यह सुनिश्चित करना है कि आप जिस डेटा-सेट पर काम कर रहे हैं, वह उपलब्ध रैम की मात्रा से अधिक हो। यदि आप एक हार्डवेयर प्लेटफ़ॉर्म पर परीक्षण कर रहे हैं जिसमें महत्वपूर्ण मात्रा में नियंत्रक और डिस्क आधारित कैश शामिल हैं, तो आप यह सुनिश्चित करना चाहते हैं कि आप उन राशियों को पार कर रहे हैं। यह सुनिश्चित करेगा कि आपके द्वारा देखा जाने वाला प्रदर्शन, सॉफ़्टवेयर के अनुकूलन की तुलना में सच्चे हार्डवेयर प्रदर्शन के साथ अधिक बंधा हुआ है जो कि कैश की उन सभी परतों को प्रस्तुत करता है।

कहा कि, अगर आप वास्तव में अपने बेंचमार्क को चलाने से पहले उपयोगी डेटा के रीड कैश को शुद्ध करना चाहते हैं, जो रीड-कैश का उपयोग करना चाहते हैं, तो ऐसा करने का तरीका आपकी रीड-कैश मेमोरी के तहत एक सिंगल फाइल साइज़ में पढ़ना है और इसके लिए कुछ फ़ाइल संचालन करें। यह कैश को शुद्ध करेगा और इसे इस एकल बड़ी फ़ाइल से भर देगा। एक बार जब आप इसे बंद कर देते हैं, तो आपका कैश प्रभावी रूप से आपके द्वारा देखभाल किए जाने वाले डेटा से भर जाता है । मुश्किल हिस्सा यह पता लगा रहा है कि उस फ़ाइल को कितना बड़ा होना चाहिए, जो कि इन दिनों आकार में 3 जीबी के क्रम पर बहुत अच्छी तरह से हो सकता है; जिस बिंदु पर आपको इसे काम करने के लिए कई 1GB जंक-फ़ाइलों की आवश्यकता हो सकती है।


0

मुझे लगता है कि कोई भी विकल्प "मैनुअल सामान" होगा। UNIX के तहत, यह प्रत्येक बेंचमार्क चलाने से पहले एक डिवाइस को अनमाउंट / रिमाउंट करने के लिए काफी मानक है, जिसे अक्सर अच्छे उपाय के लिए "नया" के साथ फेंक दिया जाता है। मुझे नहीं पता कि आप डिवाइस को अनमाउंट / माउंट करने के लिए विंडोज के तहत कमांड-लाइन टूल्स का उपयोग कर सकते हैं, लेकिन अगर स्वचालन आपका लक्ष्य है, तो यह ऐसी उपयोगिताओं की तलाश में लायक होगा।


1
लिनक्स के तहत अगर अनमाउंट / रिमूंट किसी कारण से एक विकल्प नहीं है, तो आप भी कर सकते हैं sync; echo 3 > /proc/sys/vm/drop_caches- हालांकि यह सभी कैश / बफ़र्स को प्रभावित करता है, न कि किसी विशेष वॉल्यूम से संबंधित। मैंने पहले विंडोज के लिए एक समान चाल की तलाश की है लेकिन एक नहीं मिला।
डेविड स्पिलेट

0

इस उत्तर पर एक नज़र डालें मैंने सिर्फ स्टैकऑवरफ्लो पर अपने प्रश्न को पोस्ट किया है।

मूल रूप से: यदि आप लेखन-शेयर पहुंच के बिनाCreateFile संभाल करने का प्रयास करते हैं, तो यह फ़्लश करेगा और फिर कैश को अमान्य कर देगा, भले ही वह एक त्रुटि लौटाता हो।

उम्मीद है की यह मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.