SOLIDWORKS Resource Monitor – analiza przyczyn komunikatu

Praca z dużymi lub wieloma modelami jednocześnie może być obciążająca dla Twojego systemu. Zbyt duże obciążenie pamięci może prowadzić do pojawienia się błędu zasobów, który będzie wyglądał podobnie do tego przedstawionego poniżej. Dodajmy do tego inne aplikacje pracujące w tle, Microsoft Excel, program antywirusowy, przeglądarka internetowa z 15 kartami, chatGPT i odtwarzacz muzyki – to wszystko potrzebuje pamięci, której może w końcu zabraknąć, a aplikacje lub system mogą w wyniku tego stać się niestabilne.

Kiedy pojawi się ten komunikat, istnieje kilka zasobów systemowych, które warto sprawdzić:

Pamięć fizyczna: Dostępna pamięć RAM w systemie jest niewystarczająca. Ostrzeżenia zaczynają pojawiać się, gdy użycie RAM wynosi około 80%.

Pamięć wirtualna (plik stronicowania): Łączna ilość pamięci RAM oraz rozmiar pliku stronicowania stają się niewystarczające. Ostrzeżenia pojawiają się również przy wykorzystaniu na poziomie 80%.

Obiekty GDI: Zasoby zarezerwowane na potrzeby obsługi obiektów graficznych i okien.

W dalszej części artykułu przedstawimy kroki, które pomogą sprawdzić i rozwiązać problemy związane z każdym z tych zasobów. Należy pamiętać, że niewłaściwa ingerencja w ustawienia systemu lub rejestr może spowodować utratę danych lub inne uszkodzenia. W związku z tym zalecamy współpracę z administratorami IT podczas przeprowadzania poniższych procedur, a dodatkowo wykonanie kopii zapasowej. Jeśli czujesz się niepewnie przy wprowadzaniu tych zmian, skontaktuj się z naszym zespołem wsparcia technicznego, aby uzyskać pomoc.

Pamięć fizyczna

Pamięć fizyczna (RAM) przechowuje dane i kod, które są aktualnie używane przez Twój system. Jeśli masz otwartych wiele modeli lub aplikacji, Twoja maszyna przechowuje informacje w RAM, nawet jeśli programy są w stanie bezczynności lub modele nie są aktywne.

Aby monitorować użycie pamięci RAM:

Naciśnij PPM na dolny pasek zadań i wybierz Menedżer zadań.

Przejdź do zakładki Szczegóły.

Ilość pamięci fizycznej używanej przez proces nazywa się Zestaw roboczy (pamięć).

Zestaw roboczy procesu składa się z jego prywatnego oraz udostępnionego zestawu roboczego. Prywatny zestaw roboczy to ilość pamięci fizycznej używanej do zadań przeznaczonych wyłącznie dla danego procesu. Udostępniony zestaw roboczy to ilość pamięci fizycznej używanej przez proces do zadań, które mogą być współdzielone
z innymi procesami.

Zestaw roboczy = Prywatny zestaw roboczy + Udostępniony zestaw roboczy

Kliknij nagłówek kolumny Zestaw roboczy (pamięć), aby posortować procesy według zużycia pamięci fizycznej w porządku malejącym. Procesy, które zużywają najwięcej pamięci, pojawią się na górze listy. Jeśli nie widzisz tej kolumny, kliknij prawym przyciskiem myszy na nagłówek kolumny i wybierz Wybierz kolumny. Możesz dodać kolumny do tego widoku.

Jeśli SOLIDWORKS jest jedynym programem otwartym, a mimo to otrzymujesz ten komunikat, zamknij wszystkie modele, które masz otwarte, ale których nie używasz. Jeśli to nie zmniejszy zużycia pamięci, może być konieczna aktualizacja sprzętu i zwiększenie pamięci RAM, aby sprostać wymaganiom systemowym dla Twoich specyficznych modeli. Zalecane wymagania sprzętowe zostały szczegółowo opisane w oddzielnym artykule na naszym blogu pod linkiem poniżej:

⇒ Zalecane wymagania sprzętowe dla SOLIDWORKS 2025 wg DPS Software

Pamięć wirtualna

Pamięć wirtualna to mechanizm systemu operacyjnego, który wykorzystuje część dysku SSD lub dysku twardego jako tymczasowe rozszerzenie pamięci, gdy fizyczna pamięć RAM zostaje zapełniona. Jej głównym celem jest utrzymanie stabilnej pracy komputera, zapobieganie awariom oraz umożliwienie jednoczesnego uruchamiania wielu aplikacji, nawet jeśli przekracza to fizyczne możliwości pamięci RAM. Zamiast zamykać programy, system przenosi rzadziej używane dane z RAM-u na dysk, zwalniając miejsce dla aktualnie wykonywanych zadań.

Choć pamięć wirtualna pełni funkcję zabezpieczającą, ma wyraźnie negatywny wpływ na wydajność. Intensywne korzystanie z niej może prowadzić do zauważalnych spowolnień, ponieważ pamięć masowa jest znacznie wolniejsza od RAM-u. Dla większości użytkowników nie stanowi to dużego problemu, ponieważ współczesne standardowe aplikacje są stosunkowo dobrze zoptymalizowane pod kątem zarządzania pamięcią. Spadki wydajności mogą jednak pojawić się podczas pracy na wielu modelach, przeprowadzaniu symulacji lub przy dużej liczbie otwartych kart w przeglądarce internetowej. W takich sytuacjach w przypadku braku pamięci fizycznej uruchamiana jest pamięć wirtualna, co skutkuje obniżeniem płynności działania systemu.

Termin „Pamięć wirtualna” w systemie Windows jest w rzeczywistości polimorficzny i może być rozumiany na różne sposoby; w ścisłym, technicznym znaczeniu oznacza on sumę pamięci fizycznej oraz pliku stronicowania (ang. page file), jednak w praktyce bardzo często termin „pamięć wirtualna” używany jest jako synonim samego pliku stronicowania.

Jak działa pamięć wirtualna?

Gdy pamięć RAM zostaje w pełni wykorzystana, system operacyjny zaczyna korzystać
z pliku stronicowania znajdującego się na dysku. Dane, które nie są w danej chwili potrzebne, są przenoszone z pamięci RAM do tego pliku. Kiedy ponownie stają się wymagane, system odczytuje je z dysku i ładuje z powrotem do pamięci operacyjnej. Proces ten, zwany stronicowaniem, zwiększa stabilność systemu, lecz jest znacznie wolniejszy niż bezpośredni dostęp do danych w RAM-ie.

Różnice w prędkościach są znaczące. Pamięć RAM osiąga transfery rzędu 25–96 GB/s, w zależności od konfiguracji oraz zastosowanego standardu (DDR4 lub DDR5). Dla porównania:

SSD NVMe: około 3–10 GB/s

SSD SATA: do 600 MB/s

Dysk twardy: około 100–200 MB/s

Nawet najszybsze dyski NVMe są wielokrotnie wolniejsze od pamięci RAM, a klasyczne HDD – setki razy. W efekcie każda wymiana danych między RAM-em a dyskiem może powodować mikroprzycięcia, spadki liczby klatek na sekundę oraz wydłużone czasy ładowania. Przy ograniczonej ilości pamięci RAM i jednoczesnym uruchamianiu wymagających aplikacji pamięć wirtualna szybko staje się wąskim gardłem systemu.

Co tak naprawdę dzieje się, kiedy pojawia się komunikat?

Jednym z zasobów monitorowanych przez SOLIDWORKS jest pamięć wirtualna zadeklarowana (ang. Commit Charge). Licznik ten określa ilość pamięci wirtualnej (czyli sumy pamięci fizycznej i pliku stronicowania), którą system operacyjny Windows przydzielił (zarezerwował, ale nie koniecznie wykorzystuje w całości) dla programu SOLIDWORKS oraz wszystkich innych procesów uruchomionych na komputerze.

System operacyjny ustala limit pamięci wirtualnej zadeklarowanej (ang. Commit Size Limit), który jest sumą całkowitej pamięci fizycznej (RAM) oraz rozmiaru pliku stronicowania. Jeśli komputer posiada 32 GB pamięci RAM, a rozmiar pliku stronicowania wynosi 8 GB, wówczas limit pamięci wirtualnej zarezerwowanej wynosi 40 GB. Można go sprawdzić wchodząc kolejno do Menadżera zadań, a następnie do zakładki Wydajność.

W użyciu -> 10,8 GB – pamięć fizyczna RAM aktualnie zajęta przez aktywne procesy oraz system operacyjny.

Dostępna -> 4,9 GB – pamięć fizyczna RAM aktualnie dostępna

Dostępna pamięć fizyczna = Całkowita pamięć fizyczna – Pamięć w użyciu (1)

Dostępna pamięć fizyczna = 15,8 GB – 10,8 GB ≈ 4,9 GB

Zadeklarowana pamięć wirtualna -> 21,2 GB – całkowita ilość pamięci wirtualnej (fizycznej oraz pliku stronicowania), którą system zagwarantował aplikacjom. Jest ona często znacznie większa niż „W użyciu”, ponieważ obejmuje także dane, które mogą być tymczasowo przeniesione na dysk (do pliku stronicowania), a nie tylko te znajdujące się w aktywnej pamięci RAM.

Zadeklarowana maksymalna pamięć wirtualna -> 27,5 GB – oznacza limit pamięci systemowej zarezerwowanej, czyli maksymalną ilość pamięci dostępnej dla systemu (suma pamięci fizycznej RAM oraz rozmiaru pliku stronicowania).

Dla jeszcze bardziej dociekliwych jest jeszcze jedno miejsce do weryfikacji tych informacji:

Wybierz narzędzie Uruchom z paska menu Start.

Wpisz „msinfo32” i wciśnij Enter.

Domyślnie system Windows zarządza wielkością pliku stronicowania automatycznie, dążąc do zrównoważenia wydajności systemu z dostępnym miejscem na dysku. To znaczy, że system dynamicznie zwiększa lub zmiejsza jego rozmiar. Początkowy rozmiar jest często równy ilości pamięci RAM, a w razie potrzeby może zwiększyć się do trzykrotności zainstalowanej pamięci RAM lub o 4GB – w zależności tego, która wartość jest większa. System zwiększa rozmiar pliku stronicowania, gdy obciążenie pamięci (przydział pamięci wirutalnej zarezerwowanej) osiągnie około 90% dostępnego limitu. Maksymalny rozmiar jest zazwyczaj ograniczony do jednej ósmej welkości woluminu dysku, chyba, że jest to konieczne do obsługi zrzutu pamięci po awarii. Zwiększenie rozmiaru pliku stronicowania może odbyć się nawet w sytuacji, gdy mamy jeszcze w zapasie sporo wolnej pamięci RAM.

System operacyjny nie przydziela pamięci procesom, jeśli nie jest w stanie jej zapewnić. Gdy przydział zbliża się do ustalonego limitu, dowolny proces może stać się niestabilny SOLIDWORKS wykrywa taki stan i wyświetla serię ostrzeżeń, począwszy od momentu osiągnięcia 78% limitu pamięci wirtualnej zarezerwowanej systemu operacyjnego, a sam system operacyjny (jeśli może) zwiększa plik stronicowania, aby obsłużyć pracujące procesy.

Gdy zobaczysz te ostrzeżenia, możesz podjąć dwa kroki, aby poradzić sobie z tą sytuacją. Po pierwsze, sprawdź poprawność konfiguracji rozmiaru pliku stronicowania. Zalecane jest użycie opcji Automatycznie zarządzaj rozmiarem pliku stronicowania dla wszystkich dysków. Aby zweryfikować i zaktualizować ustawienia rozmiaru pliku stronicowania, wykonaj poniższe kroki:

Przejdź do Panelu sterowania -> System.

Kliknij Zaawansowane ustawienia systemu.

W grupie Wydajność przejdź do Ustawień.

Przejdź do zakładki Zaawansowane.

W grupie Pamięć wirtualna możesz zobaczyć ile obecnie system przydzielił pamięci na plik stronicowania (12000 MB). Kliknij Zmień.

Upewnij się, że wybrana jest opcja „Automatycznie zarządzaj rozmiarem pliku stronicowania dla wszystkich dysków”.

Jeśli jednak chcesz ustawić rozmiar niestandardowy i poświęcić więcej dysku na pamięć wirtualną to odznacz tą opcję oraz weź pod uwagę poniższe zalecenia:

Rozmiar początkowy = 1,5 x zainstalowana pamięć RAM, jednak nie mniej niż Zalecane (zaznaczono żółtą ramką na obrazie powyżej)

Rozmiar maksymalny = 3-4 x zainstalowana pamięć RAM

Przykładowe wartości w zależności od posiadanego RAM-u:

Aby zapewnić stabilność i uniknąć fragmentacji, często zaleca się ustawienie takiej samej wartości początkowej i maksymalnej.

4 GB RAM: 6 GB – 12 GB pliku stronicowania.

8 GB RAM: 12 GB – 24 GB pliku stronicowania.

16 GB RAM: 16 GB – 32 GB pliku stronicowania (przy 16 GB+ RAM często wystarczy 1x RAM, chyba że używasz intensywnie pamięci).

32 GB RAM: 4 GB – 8 GB.

64 GB RAM+: 2 GB – 4 GB pliku stronicowania (głównie jako przestrzeń awaryjna
w krytycznych sytuacjach).

Wraz ze wzrostem pamięci fizycznej RAM, plik stronicowania może być mniejszy, ponieważ pamięć fizyczna jest zazwyczaj wystarczająca, ale nigdy nie powinno się go całkowicie wyłączać. W przypadku specjalistycznych zastosowań takich jak renderowanie wideo, złożone symulacje CAD, praca na wielu otwarych modelach itp. użytkownik może zwiększyć plik stronicowania – pomimo posiadania dużej ilości pamięci RAM. Należy jednak pamiętać, że modyfikacja pliku stronicowania nie jest rozwiązaniem, a jedynie obejściem problemu. W przypadku, gdy monit o niskiej pamięci pojawia się często, należy rozważyć modyfikację stacji roboczej.

UWAGA: Modyfikacja pliku stronicowania odbywa się na własną odpowiedzialność.

Następnym krokiem jest określenie, które procesy pochłaniają (rezerwują) najwięcej pamięci wirtualnej. Aby to zrobić, wykonaj następujące czynności:

Włącz Monitor zasobów. W tym celu wybierz narzędzie Uruchom z paska menu Start.

Wpisz polecenie „resmon” i wybierz Enter.

W tym miejscu kolumna Zadeklarowane (KB) oznacza ilość pamięci wirtualnej zarezerwowanej przez system operacyjny dla danego procesu. Wartość ta jest jedynie oszacowaniem rozmiaru (tylko) pliku stronicowania potrzebnego procesowi.

Kliknij nagłówek kolumny Zadeklarowane (KB), aby posortować procesy według zarezerwowania pamięci w pliku stronicowania w porządku malejącym. Procesy, które zużywają najwięcej pamięci, będą wyświetlane na górze listy. Jeśli ta zakładka nie istnieje, kliknij prawym przyciskiem myszy na nagłówek kolumny i wybierz Wybierz kolumny.

Wykorzystaj te informacje, aby zrozumieć i zbadać kroki niezbędne do zarządzania procesami, które zużywają najwięcej pamięci. Możesz spróbować zakończyć procesy, jeśli ich nie potrzebujesz.

Obiekty GDI

Interfejsy urządzeń graficznych (GDI) to mechanizm, który system Microsoft Windows wykorzystuje do reprezentowania obiektów graficznych na urządzeniach zewnętrznych, najczęściej na monitorze. Każdy element w systemie CAD korzysta z obiektów GDI.

Aby monitorować Obiekty GDI:

Naciśnij PPM na dolny pasek zadań i wybierz Menedżer zadań.

Przejdź do zakładki Szczegóły.

Kliknij nagłówek kolumny Obiekty GDI, aby posortować procesy według zużycia pamięci w porządku malejącym. Procesy, które zużywają najwięcej obiektów GDI, pojawią się na górze listy. Jeśli nie widzisz tej kolumny, kliknij prawym przyciskiem myszy na nagłówek kolumny i wybierz Wybierz kolumny. Możesz dodać kolumny do tego widoku.

Domyślnie system Windows przypisuje tylko 10 000 obiektów GDI na proces, jednak maksymalna dozwolona liczba obiektów GDI to 65 536.

Jak zmienić ilość dozwolonych obiektów GDI?

Jedną z najważniejszych rzeczy, którą musisz zrozumieć, jest to, że będziemy korzystać z edytora rejestru, dlatego powinieneś być bardzo ostrożny i nie modyfikować niczego, poza tym, co zostało opisane poniżej. Jeśli nie czujesz się pewnie wykonując te kroki, skontaktuj się z administratorem IT Twojej organizacji lub naszym wsparciem technicznym.

Aby zmienić maksymalną wartość, musisz edytować rejestr systemu Windows:

Przejdź do Start i wpisz „regedit”, aby uruchomić edytor rejestru.

Przejdź do poniższej lokalizacji:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows

Znajdź wartość DWORD o nazwie GDIProcessHandleQuota i zmodyfikuj jej wartość. Zwykle najlepiej działa ustawienie maksymalnej wartości na 20 000. Maksymalna dozwolona wartość to 65 536, jednak nie polecam więcej niż 30 000.

Uwaga: Ważne jest, aby zmienić system z „Szesnastkowy” na „Dziesiętny”.

Pamiętaj, aby zachować ostrożność podczas edytowania rejestru, ponieważ nieprawidłowe zmiany mogą wpłynąć na stabilność systemu.

Post: SOLIDWORKS Resource Monitor – analiza przyczyn komunikatu