मैं कुछ चल रहे प्रोग्रामों पर स्मृति मुक्त करने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं क्योंकि मेरे स्वयं के कार्यक्रम को तेजी से चलाने के लिए बड़े मेमोरी संसाधनों की आवश्यकता है।EmptyWorkingSet का उपयोग करने के दुष्प्रभाव क्या हैं?
[DllImport("psapi.dll")]
public static extern bool EmptyWorkingSet(IntPtr hProcess);
public FreeMem(string programName){
EmptyWorkingSet(Process.GetCurrentProcess().Handle);
foreach(Process process in Process.GetProcesses(programName))
{
try
{
EmptyWorkingSet(process.Handle);
}
catch (Exception)
{
...
}
}
}
यह ठीक काम कर रहा है, मैं 2,000 Kb करने के लिए नीचे 100,000 Kb से एक्सप्लोरर जैसे कुछ कार्यक्रमों की स्मृति के उपयोग को कम करने में सक्षम था। यह बहुत अच्छा है लेकिन क्या ऐसा करने पर कोई दुष्प्रभाव है? कुछ वाणिज्यिक सॉफ़्टवेयर इसका उपयोग यमिक्सॉफ्ट विस्टा/एक्सपी मैनेजर और फ़ायरफ़ॉक्स ऑप्टिमाइज़र जैसे कुछ नाम देने के लिए भी कर रहे हैं, इसलिए मैं सोच रहा हूं कि इसका कोई दुष्प्रभाव नहीं है या नहीं?
शायद तुम सही हो। मैं अन्य कार्यक्रमों को अनुकूलित करने के बजाय अपने स्वयं के कार्यक्रम को अनुकूलित करने का तरीका खोजने की कोशिश करूंगा और यदि खतरनाक हो तो एम्प्टीवर्क्सिंगसेट को हटा दें। – murasaki5