Właśnie odkryłem, że mój system nie ma miejsca na wymianę
Jeśli to prawda, to prawdopodobnie przyczynia się do problemu.
Dzięki użyciu wielu maszyn wirtualnych z dużymi przydziałami pamięci ilość pamięci RAM, która normalnie byłaby wystarczająca do normalnego użytkowania (8 GB), zaczyna być ciasna, co oznacza, że Twój system nie będzie w stanie zużywać tyle pamięci podręcznej i będzie chciał wymienić . Teraz, jeśli nie masz zamiany, będzie jeszcze większa presja na pamięć i możesz nawet zabić zadania z powodu braku pamięci.
Swap próbuje poprawić ogólną stabilność i wydajność w sytuacjach takich jak ta, którą opisałeś, poprzez ponowne przydzielenie niektórych przydzielonych, ale rzadko używanych danych w pamięci na dysk, zwalniając pamięć na dane, których używasz. Dodanie wymiany, jeśli rzeczywiście jej nie masz, pomoże. Jednak pod względem wydajności znacznie poprawisz sytuację, jeśli kupisz więcej pamięci RAM lub zużyjesz mniej.
W systemie, w którym używasz maszyn wirtualnych, ale używasz również zwykłego pulpitu na hoście maszyny wirtualnej, nie chcesz, aby maszyny wirtualne zajmowały całą pamięć RAM, w rzeczywistości zaoszczędziłbym połowę pamięci RAM (do 4 GB ) dla hosta, biorąc pod uwagę, że na nim działa oprogramowanie i chcesz, aby było ono responsywne.
Zauważ też, że maszyny wirtualne mają nieodłączną nieefektywność nie tylko dlatego, że ich pamięć RAM jest całkowicie oddzielna, nie współużytkują pamięci podręcznej ani buforów, ale działają z całym oddzielnym systemem operacyjnym pod wieloma warstwami abstrakcji. Dzięki temu zawsze możesz uzyskać lepszą wydajność, jeśli zdecydujesz się uruchomić coś na hoście, a nie na maszynie wirtualnej - chociaż jeśli chcesz używać maszyn wirtualnych, to używać innych systemów operacyjnych, nie będzie to możliwe.
Czy istnieje sposób, aby zapewnić, że interfejs użytkownika pozostanie responsywny, gdy mój system jest wstrząsany?
Kiedy ilość pamięci RAM jest problemem, wszystko, co możesz zrobić, to tylko włamanie - prawdziwym rozwiązaniem jest zakup większej ilości pamięci RAM (chociaż w twoim przypadku, jak wspomniałem, możesz być w stanie po prostu przydzielić mniej do maszyn wirtualnych).
Twoje pytanie jest proste: chcesz, aby interfejs użytkownika mógł nadal działać płynnie, nawet jeśli IO jest zatłoczony. Jednak trudno jest odpowiedzieć. Twój system będzie już to robił najlepiej jak potrafił: operacje, które nie wymagają dostępu do dysku, nie będą opóźniane. Jeśli „interfejs użytkownika się zacina”, to dlatego, że określony proces odpowiedzialny za ten interfejs użytkownika potrzebuje dostępu do dysku. W sytuacji niskiego poziomu pamięci i gdy dysk jest przeładowany, nawet coś, co normalnie będzie trywialne - takie jak czytanie konfiguracji z katalogu domowego w celu ustalenia preferencji wyświetlania - może być powolne z powodu wyczerpania pamięci podręcznej dysku.
Mógłbym sobie wyobrazić coś w rodzaju „fajnego” dla pamięci (aby móc ładnie Chrome i moją maszynę wirtualną)
Tak naprawdę nie ma „miłego dla pamięci”. Dostęp do pamięci jest tak szybki, że zwykle można go praktycznie zignorować. Kiedy masz thrash, to nie pamięć, to dysk, to jest problem. Z tego powodu istnieje „jonizacja”. Chociaż prawdopodobnie nie to poleciłbym dla twojego problemu.
Innym przybliżonym odpowiednikiem „przyjemnego dla pamięci” jest zamiana - nie możesz kontrolować, jak bardzo każdy proces jest niezadowalający indywidualnie, ale system wykonuje całkiem niezłą robotę, sprawdzając, które procesy aktywnie używasz, i dlatego należy zachować wyższy priorytet BARAN.
Ale, jak powiedziałem i jak jest złotą zasadą, jeśli kończy Ci się pamięć RAM, to zakup większej ilości pamięci RAM jest rozwiązaniem z najmniejszymi problemami i wadami.