Działanie systemu przy niepełnej pamięci RAM

0

Jest komputer z 64-bitowym systemem Windows 7. Jak widać na załączonym obrazku, jest jeszcze kilkaset megabajtów wolnej pamięci operacyjnej. Już w tym stanie pokazuje się komunikat z informacją, że w systemie Windows brakuje pamięci i propozycją zamknięcia określonych aplikacji. Program Firefox zamyka się samoczynnie.

W tym stanie bez problemu powinno działać jeszcze kilka programów. Na innym komputerze z Windows XP 32-bit przy 2GB pamięci RAM problemy z działaniem zaczynają się dopiero wtedy, gdy pamięć jest prawie pełna.

O co tu chodzi? Dlaczego system jakby nie widzi tych kilkuset MB?

0

Właśnie samoczynnie wyłączyły się efekty Aero i szybko zrobiłem zrzut okna menedżera zadań.

0

A swap jak?
Windows jest głupi jeżeli chodzi o pamięć, u mnie też od "wczesnych" jeszcze wartości krzyczy, na Win7 nie pamiętam jak to chodziło (a teraz mam za dużo ramu, żeby to zapchać), ale XP zachowuje się tak jakbym oczekiwał - totalny brak pamięci = aplikacje się sypią, jeżeli pamięć jest - to tylko Win krzyczy

0

11 dni uptime? Moim zdaniem po prostu masz tak pofragmentowaną pamięć, że alokacja dużych bloków pamięci przestaje się udawać. Spróbuj zrestartować komputer.

0

Kombinowałeś coś z plikiem wymiany, np. wyłączałeś „bo jest dużo RAM-u”?

0

A włącz monitor zasobów ;) Bo obstawiam ze jednak wcale nie masz wolnej pamięci, tylko taskmgr tak to śmiesznie pokazuje, że niby "wolna" jest pamięć która w rzeczywistości wcale wolna nie jest ale "moze zostać zwolniona" (standby)

0

Jeżeli kilkunastodniowa praca systemu bez przerwy może powodować problemy z pamięcią, to co się dzieje w serwerach, które pracują miesiącami bez przerwy, szczególnie, gdy te serwery robią dużo więcej, niż utrzymywanie usług internetowych takich, jak WWW, FTP, e-mail?

W obu komputerach wymienionych w pierwszym poście nie ma pliku stronicowania, pamięć wirtualna jest wyłączona. Powodem była właśnie duża ilość RAM oraz fakt, że przy włączonym stronicowaniu po dłuższym czasie pracy system spowalnia i intensywnie korzysta z dysku (pewnie wymienia dane między pamięcią RAM, a plikiem swap).

W załączniku monitor zasobów, jak się porównuje, to na pierwszy rzut oka wydaje mi się, że takmgr pokazuje prawidłowo.

0

Windows ma to do siebie że nie lubi nie mieć pliku stronnicowania ;) Ja bym go jednak przywrócił. Możesz go rzucić na ram-dysk ewentualnie.

0

W obu komputerach wymienionych w pierwszym poście nie ma pliku stronicowania
No i masz swoją odpowiedź. Wyłączenie swapa powoduje więcej szkody niż pożytku.

pamięć wirtualna jest wyłączona.
W Windows nie da się wyłączyć pamięci wirtualnej. Można wyłączyć plik wymiany, ale to nie jedyny mechanizm pamięci wirtualnej używany przez Windowsa.

Na przykład, kod wykonywalny w większości przypadków nie trafia do pliku wymiany, ale jest swapowany do fizycznych plików exe/dll na dysku, z których został załadowany. Inaczej: zamiast zrzucać kod programu do pliku wymiany, Windows po prostu wyrzuca go z pamięci, bo i tak będzie można go doładować z exeka. Dlatego Windows blokuje przed zapisem i skasowaniem otwarte pliki wykonywalne.
Tego nie da się wyłączyć.

Powodem była właśnie duża ilość RAM
2 czy 4 GB to nie jest "duża ilość RAM". Zresztą, żadna ilość nie jest.

oraz fakt, że przy włączonym stronicowaniu po dłuższym czasie pracy system spowalnia i intensywnie korzysta z dysku (pewnie wymienia dane między pamięcią RAM, a plikiem swap).
Skoro wymienia dane, to znaczy że mało mu pamięci. Dołóż RAM-u, zamiast blokować mechanizm „ratunkowy”.

0

No i masz swoją odpowiedź. Wyłączenie swapa powoduje więcej szkody niż pożytku.
Nie zgodzę się, i widzę, że nawet @somekind tak używa - więc to nie może być zły pomysł ;)
Mi system XP z 4GB ramu chodził zdecydowanie sprawniej bez ramu swapu, a wystarczało tego spokojnie na przeglądarkę, IDE w javie, Photoshopa, jakąś grę.

Zresztą, żadna ilość nie jest.

Zależy co robisz. Ale kumpel np. nawet kilkoma grami jednocześnie uruchomionymi, IM, przeglądarka i inne - nigdy nie przeszedł 8GB (mając 12 dostępne) - czyli "ram jest wystarczający" - i jak widać swap nie jest potrzebny (bo Windows by radośnie zapakował 4 z tych 8 GB na dysk i mielił)

0

Właśnie samoczynnie wyłączyły się efekty Aero i szybko zrobiłem zrzut okna menedżera zadań.

Mi się też to zdarzyło chyba z 2 razy na win 7 32 bit ni stąd ni zowąd a miałem włączonego tylko google chrome ,że mi się samoczynnie aero wyłączyło i najlepsze to ,że na początku nie potrafiłem tego przywrócić tzn jak kliknąłem prawy na pulpit i wchodziłem w ustawienia. Nie miałem żadnych komunikatów tak jak ty ,że jakaś pamięć się wyczerpuje. Nie wiem czy to ma jakiś związek z pamięcią ram, ale chyba w tej chwili jak mi się to aero wyłączyło miałem mało miejsca na dysku systemowym. Nie wiem czy to ma jakiś związek ze sobą. Możesz też sobie napisać program w C który alokuje pamięć dać to w pętli i jak malloc zwróci 0 to przerwać pętle i zliczyć ile pamięci udało się zaalokować :D. Nie wiem czy ten sposób zadziała bo nie testowałem, ale może warto spróbować bo menedżer zadań może kłamać jak już tu ktoś powiedział.

1 użytkowników online, w tym zalogowanych: 0, gości: 1