iGPU konkuruje z aplikacjami serwera domowego, ponieważ zadania graficzne, multimedialne i AI korzystają z tej samej pojemności i przepustowości pamięci systemowej co CPU.
Konkurencję tę łatwo przeoczyć, ponieważ silnik graficzny pojawia się jako oddzielne urządzenie w narzędziach monitorujących, jednak większość zintegrowanych GPU nie posiada dużej dedykowanej pamięci VRAM. Kontenery, bazy danych, pamięć podręczna systemu plików, maszyny wirtualne, środowiska uruchomieniowe modeli i iGPU korzystają z tej samej zainstalowanej pamięci DRAM i kontrolera pamięci. Poniższe sekcje oddzielają pamięć zarezerwowaną od dynamicznego użycia, wyjaśniają, jak powierzchnie klatek i bufory AI rozszerzają zestaw roboczy, oraz pokazują, dlaczego serwer może mieć wolną pamięć RAM, a mimo to zwalniać pod presją współdzielonej przepustowości.
Zintegrowana grafika korzysta z puli pamięci systemowej
Dedykowany GPU zwykle posiada własną pamięć VRAM, podczas gdy zintegrowany GPU jest wbudowany w procesor lub pakiet systemowy i korzysta z głównej pamięci platformy. CPU i silnik graficzny pozostają oddzielnymi zasobami wykonawczymi, ale ich aktywne dane ostatecznie zajmują tę samą fizyczną pamięć DRAM systemu.
Intel wyjaśnia, że pamięć zintegrowanej grafiki pochodzi z pamięci RAM systemu, a nie z oddzielnej banki pamięci. Oznacza to, że zdekodowana klatka, tensor AI, powierzchnia pulpitu lub bufor graficzny zużywają pojemność, która mogłaby być użyta na strony aplikacji, pamięć podręczną bazy danych lub dane systemu plików.
Efekt nie polega na tym, że GPU na stałe zajmuje każdy bajt pamięci graficznej, którą Windows lub Linux raportują jako dostępną. Rzeczywiste użycie zmienia się w zależności od obciążenia, polityki sterownika, ustawień firmware i aktualnie mapowanych buforów przez aplikacje.
Raportowana pamięć współdzielona to limit, a nie stała rezerwacja
Systemy operacyjne często pokazują dużą wartość „współdzielonej pamięci GPU”, którą można błędnie uznać za RAM już zniknięty z serwera. W wielu implementacjach wartość ta jest górnym limitem lub kategorią rozliczeniową, a nie stałym przydziałem utrzymywanym przez cały czas.
FAQ Intela stwierdza, że współdzielona pamięć systemowa nie jest ciągłą rezerwacją. Sterownik graficzny i system operacyjny przydzielają pamięć zgodnie z aktualnym obciążeniem CPU i GPU.
Ta różnica ma znaczenie podczas planowania pojemności. Bezczynny pulpit może pokazywać większość RAM jako wolną, a następnie transkodowanie, model wizji lub kilka zdalnych pulpitów mogą szybko przydzielić duże powierzchnie i zmniejszyć dostępny zapas dla kontenerów.
Pamięć zarezerwowana przez firmware jest inna. Ustawienie BIOS lub UEFI może zarezerwować mniejszy, stały obszar graficzny przed uruchomieniem systemu operacyjnego, a ta część jest niedostępna dla normalnych aplikacji nawet gdy iGPU jest bezczynne.
Powierzchnie klatek rozszerzają się podczas dekodowania, przetwarzania i kodowania
Sprzętowe transkodowanie nie przechowuje tylko skompresowanego wejścia i wyjścia w pamięci. Potok wymaga również zdekodowanych powierzchni klatek, klatek referencyjnych, buforów skalowania lub mapowania tonalnego oraz wystarczającej liczby kolejkowanych powierzchni, aby utrzymać asynchroniczne etapy dekodowania i kodowania.
Intel oneVPL opisuje pule powierzchni dekodera, które muszą zawierać wystarczającą liczbę powierzchni klatek dla aktywnego komponentu wideo. Rozdzielczość, głębia bitowa, format chromy, liczba klatek referencyjnych, filtry i równoczesne strumienie zmieniają ilość pamięci roboczej.
Pojedyncza powierzchnia klatki 4K jest znacznie większa niż skompresowany pakiet, który ją wygenerował. Kilka jednoczesnych transkodowań może więc zwiększyć widoczne użycie pamięci graficznej, nawet gdy same pliki multimedialne pozostają na dysku.
Silnik multimedialny o stałej funkcji może zmniejszyć obliczenia CPU, ale nie eliminuje potrzeby przechowywania i przesyłania tych klatek przez hierarchię współdzielonej pamięci.
Presja pojemności może zmusić aplikacje do odzyskiwania i wymiany pamięci
Gdy przydziały iGPU oraz zestawy robocze aplikacji zbliżają się do zainstalowanej pamięci RAM, system operacyjny musi odzyskać czyste strony pamięci podręcznej, skompresować pamięć, usunąć strony aplikacji lub przenieść dane do swapu. Pierwsze widoczne spowolnienie może pojawić się w niepowiązanej bazie danych lub aplikacji internetowej, a nie w zadaniu GPU.
Aktualne sterowanie balansem pamięci Intela wyraźnie przedstawia kompromis między aplikacjami o wysokim zapotrzebowaniu na pamięć graficzną a tymi o wysokim zapotrzebowaniu na pamięć CPU. Podniesienie limitu pamięci graficznej może pomóc jednemu obciążeniu, jednocześnie zmniejszając ochronę reszty systemu.
Pamięć podręczna systemu plików często jest cichą ofiarą. Serwer domowy może zachować wystarczającą anonimową pamięć dla kontenerów, ale usuwać często odczytywane metadane multimediów, miniatury, strony bazy danych lub wpisy katalogów, co powoduje odczucie wolniejszego działania magazynu, mimo że wykorzystanie dysku się nie zmienia.
Konkurencja o przepustowość może pojawić się zanim pamięć RAM zostanie zapełniona
Wolna pojemność mierzy, ile danych jeszcze się zmieści; nie mierzy jednak, jak szybko CPU i iGPU mogą przesuwać dane już używane. Oba silniki mogą jednocześnie żądać przepustowości DRAM.
Przewodnik optymalizacji GPU Intela opisuje współdzielony ruch DRAM między CPU a zintegrowanym GPU. Wyjaśnienie ZimaSpace dotyczące limitów przepustowości pamięci pokazuje, dlaczego dekodowanie AI, klatki wideo, pamięci podręczne aplikacji i praca CPU mogą wzajemnie się spowalniać, zanim Menedżer zadań zgłosi wyczerpanie pojemności pamięci.
To powoduje charakterystyczny objaw: wykorzystanie GPU lub CPU może pozostać poniżej 100 procent, podczas gdy przepustowość zmienia się znacznie w zależności od kanałów pamięci, szybkości danych, zachowania kopiowania lub równoczesnych obciążeń.
Mierz pojemność i przepustowość jako oddzielne limity
Testuj serwer etapami: same aplikacje, samo obciążenie iGPU oraz oba razem. Zapisuj dostępną pamięć, przydzieloną pamięć, aktywność swapu, pamięć podręczną systemu plików, przepustowość pamięci, użycie silnika iGPU oraz czas reakcji aplikacji, który ma znaczenie.
Windows udostępnia segmenty pamięci GPU, podczas gdy narzędzia Linux mogą ujawniać aktywność silnika graficznego i pamięci systemowej w zależności od sterownika. Przydatne porównanie to nie pojedyncza raportowana liczba „VRAM”, lecz jak cały system pamięci zmienia się po rozpoczęciu zadania iGPU.
Jeśli pojawi się swap lub agresywne odzyskiwanie pamięci podręcznej, dodaj RAM, zmniejsz liczbę jednoczesnych powierzchni, zmniejsz zestawy robocze aplikacji lub odizoluj obciążenie akceleratora. Jeśli pojemność pozostaje komfortowa, ale przepustowość CPU i iGPU spada razem, popraw konfigurację kanałów, zmniejsz kopiowanie lub przenieś jedno obciążenie na urządzenie z dedykowaną pamięcią.
FAQ
Czy iGPU rezerwuje połowę zainstalowanej pamięci RAM?
Zazwyczaj nie jako stały przydział. Raportowana wartość pamięci współdzielonej to często limit użycia, podczas gdy rzeczywisty przydział zmienia się dynamicznie wraz z obciążeniem.
Czy więcej RAM rozwiąże problem konkurencji iGPU?
Rozwiązuje presję pojemności, gdy aplikacje odzyskują lub wymieniają pamięć. Nie zwiększa automatycznie przepustowości, chyba że aktualizacja zmienia też konfigurację kanałów lub prędkość pamięci.
Czy sprzętowe transkodowanie unika użycia pamięci systemowej?
Nie. Zmniejsza ogólną pracę CPU, ale skompresowane pakiety, zdekodowane powierzchnie, filtry, klatki referencyjne i zakodowane wyjście nadal korzystają z hierarchii pamięci.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Stan bieżący a stan trwały w Home Assistant: co musi przetrwać ponowne uruchomienie?
Home Assistant nie zachowuje trwale każdej bieżącej wartości; konfiguracja, rejestry, wybrane przywracane stany, historia i dane wdrożeniowe pełnią różne funkcje podczas ponownego uruchamiania.

Jak Home Assistant uwierzytelnia sesje lokalne i zdalne?
Lokalne i zdalne sesje Home Assistant korzystają z tego samego modelu tożsamości po stronie serwera; zdalny dostęp zmienia trasę i granicę TLS, ale nie...

Dlaczego zapytania do historii Home Assistant mogą zwalniać w miarę przyrostu danych rejestratora?
Wzrost liczby rekordów może zwiększyć koszt zapytań do historii, gdy żądany zakres obejmuje więcej wierszy, rośnie liczba chybień pamięci podręcznej lub operacje na pamięci...

