góra mówi mi:
last pid: 64807; load averages: 0.99, 0.97, 0.92 up 189+04:47:22 09:16:17
45 processes: 1 running, 44 sleeping
CPU: 0.4% user, 0.0% nice, 0.2% system, 6.4% interrupt, 93.0% idle
Mem: 222M Active, 2151M Inact, 2008M Wired, 823M Buf, 3499M Free
Swap: 8192M Total, 8192M Free
Munin pokazuje to nieco wyraźniej:
Jak widać, serwer ma około 8 GB pamięci RAM. Zastanawiam się, czy mogę wcisnąć tę bestię w skromniejszy serwer 2 GB . Teraz wiem, co oznaczają aktywne i bufory. Ale naprawdę martwię się o „przewodowe” i „nieaktywne” plamy pamięci. O ile mi wiadomo, nie są one mapowane na żaden istniejący proces.
Zwróć uwagę, jak wzrosła zielona „aktywna” linia w grudniu: wtedy zaczęliśmy używać demona BGP na tym routerze. Nie do końca rozumiem, co wydarzyło się w kwietniu i maju, ale pamiętam, że w tym czasie przeprowadziłem aktualizację systemu i przestawiłem się na pkgng .
Oto zapasowy router dla pierwszego z mniejszą ilością pamięci RAM (4 GB):
Wygląda na to, że ten żyje doskonale z połową pamięci RAM i wciąż pozostawia około 2 GB wolnego miejsca, co prowadzi mnie do wniosku, że mógłbym przejść na 2 GB dla tego serwera, obniżając koszty i konserwację ...
Jakieś sugestie? Co oznaczają różne liczniki pamięci pokazane u góry? Mówiąc dokładniej, co:
- Aktywny
- Nieaktywny
- Pamięć podręczna
- Bufory
- Przewodowy
- Darmowy
...prawdziwe znaczenie? Znalazłem kilka postów wyjaśniających fragmenty działania podsystemu VM i pamiętam, że miałem „ah-ah!” chwila rozumiem to wszystko około 12 lat temu, ale zapomniałem. :) Nawet wierny podręcznik FreeBSD nie odpowiedział na moje pytanie ...
Czy mogę obniżyć do 2 GB?
free
polecenie z procps ): linux - rzeczywiste użycie pamięciOdpowiedzi:
Active
: Pamięć aktualnie używana przez procesInactive
: Pamięć, która została zwolniona, ale nadal jest buforowana, ponieważ może być ponownie użyta. JeśliFree
wymagana jest większa pamięć, pamięć ta może zostać wyczyszczona i zwolniona. Ta pamięć nie jest czyszczona, zanim będzie potrzebna, ponieważ „wolna pamięć jest marnowana”, nic nie kosztuje utrzymanie starych danych na wypadek, gdyby były potrzebne.Wired
: Pamięć używana przez jądro. Tej pamięci nie można zamienićCache
: Pamięć używana do buforowania danych, w razie potrzeby może zostać natychmiast zwolnionaBuffers
: Pamięć podręczna dyskuFree
: Pamięć, która jest całkowicie darmowa i gotowa do użycia.Inactive
,Cache
ABuffers
może stać się za darmo, jeśli są one czyszczone.Możesz więc dodać
Inactive
do swojejFree
liczby i uznać, że jest nieużywany.Wired
to pamięć używana przez jądro, które obejmuje stos sieci. Uruchomienienetstat -m
daje podsumowanie wykorzystania pamięci przez stos sieciowy.Na podstawie twoich wykresów, poza niepokojącym skokiem
wired
pamięci na początku marca, tak, powinieneś być w stanie uruchomić to obciążenie na 2 GB pamięci RAM. Jeśli tak, rozważ uruchomienie i386 zamiast amd64, ponieważ każda alokacja pamięci zajmie mniej miejsca, ponieważ wskaźniki będą 32-bitowe zamiast 64-bitowych.źródło