1. Na ile programowanie C , C++ pozwala na zarządzanie pamięcią RAM , czyli jej zwalnianie gdy jest ona niepotrzebna ?
- Ja nie znam takiej możliwości, ale zgaduję że jeśli program jest w odpowiedni sposób zbudowany
( w funkcjach / klasach , osobnych plikach )
to przy zamykaniu / zabijaniu klas , procesów
pamięć RAM jest automatycznie zwalniana, jeżeli tego nie będziemy pilnować to i RAM nie zostanie zwolnione.
Poza tym pozwala to na szybszy start aplikacji
( Zaletą jest szybsze uruchomienie programu, wadą jego trochę wolniejsze działanie chwilami )
2.
Teraz trochę z innej beczki ...
Jakiś rok temu, może dwa, na systemie z Init mój Firefox miał 700MB RAM
i generalnie jeśli teraz proces Firefoxa ma 430MB +Web Content 420MB = 450MB to nie jest żle.
Dzięki nowej technologii
https://blog.mozilla.org/futurereleases/2016/08/02/whats-next-for-multi-process-firefox/podejrzewam że wymaganie na RAM jeszcze wzrośnie w tępie jakiejś potęgi w zależnośći od ilości otwartych kart.
Gdzie tkwi problem ?
- Zawsze patrzyłem na zużycie RAM w monitorze systemu Mate, ale nie ma tam zużycia przez buffer cache, nie wiem czemu to nie jest sumowane.
http://stackoverflow.com/questions/6345020/linux-memory-buffer-vs-cache ( Jest w Mate za to plugin do paska zadań który średnie coś pokazuje )
A widze problem bo zużycie zazwyczaj mam ~54% a buff/cache ~46% = 100% 8GB
$ free -h
total used free shared buf/cache available
Memory: 7,8G 3,7G 230M 110M 3,8G 3,7G
Podejrzewam że walka o pamięc RAM może także przyczynić się do zamknięcia aplikacji Steam i virtualboxa
Znalazłem jakiś poradnik, czy to i zabijanie aplikacji to jest jedyny sposób czyszczenia pamięci RAM ?
http://www.tecmint.com/clear-ram-memory-cache-buffer-and-swap-space-on-linux/