Mamy około 200 serwerów, Hyper V, klaster plików i IIS, z których każdy ma ten sam problem, zdarzenie występuje na serwerze podczas normalnego użytkowania, które maksymalnie zwiększa lub prawie maksymalizuje pamięć RAM na serwerze. Kiedy to się stanie, usługa SVCHOST / Workstation, w szczególności (wyeliminowana przez izolację usługi Workstation do jej własnego SVCHOST) przestaje zwalniać uchwyty / wątki, a pamięć używana przez tę usługę nigdy nie jest zwalniana. W niektórych ekstremalnych przypadkach mamy usługi stacji roboczej, które zużywają aż 40 GB pamięci RAM na serwerze 255 GB. W niektórych przypadkach znajduje się także ponad 40 milionów uchwytów.
Po ponownym uruchomieniu problem oczywiście znika i nie pojawia się ponownie, dopóki cała pamięć nie zostanie wykorzystana, powiedzmy przez proces W3 lub maszyny wirtualne HyperV, po czym usługa stacji roboczej zaczyna pobierać całą pamięć RAM. Proces ten jest bardzo powolny i może potrwać tygodnie / miesiące w zależności od ilości pamięci RAM na serwerze.
Zarówno nasze serwery Hyper V, jak i serwery IIS uzyskują dostęp do udziałów dla działających plików, udziały te znajdują się w pamięci SSD, więc są bardzo wydajne. Zainstalowaliśmy wszystkie obecne łatki, ale nie przenieśliśmy się do R2, ponieważ mamy wiele narzędzi, które sprawią, że będzie to znaczący krok i nie znajdzie żadnego wyraźnego wskazania, że zostanie to naprawione w R2.
Uruchomiliśmy ProcMon i inne narzędzia, ale na najbardziej problematycznych serwerach te narzędzia nawet nie działają. Z drugiej strony przedstawione przez nich wyniki pokazują po prostu, że w tym procesie rzeczywiście występuje wyciek pamięci.
Czy istnieje sposób na zwolnienie pamięci z tego procesu lub całkowite uniknięcie błędu? Nie chcemy ponownie uruchamiać komputera i nie możemy ponownie uruchomić procesu, gdy jest w stanie błędu. Proces zostaje zamrożony.
Staramy się unikać regularnych restartów, aby „naprawić” ten problem, więc wszelkie odpowiedzi będą mile widziane.