2013-02-11 18 views
5

Czy bash uruchamia śmieciarz? Czy można go kontrolować za pomocą niektórych opcji wiersza poleceń? Nie mogę znaleźć niczego w Internecie na ten temat.Wyrzucanie śmieci w bashu

Mam skrypt basha, który działa i przez kilka dni jego użycie pamięci wzrasta. Chcę wiedzieć, dokąd zmierza pamięć.

+0

Jestem prawie pewien, że tak nie jest, ale jestem ciekawy, dlaczego pytasz. –

+0

Co bash musi zebrać? Uruchamia inne procesy i zapisuje je po zakończeniu. Zmienne, które określasz, są twoją odpowiedzialnością. – vanza

+0

@vanza: A więc czy należy jakoś wyczyścić zmienne używane, gdy nie są potrzebne? – sashang

Odpowiedz

6

Bash nie uruchamia kosza na śmieci jako takiego. Ponieważ nie ma koncepcji referencji, nie ma potrzeby wyszukiwania danych bez odniesień. Jednak pamięć nie jest już używana.

Oto prosta demonstracja użycia pamięci przed i po deklarowaniu i nadpisywaniu dużej zmiennej. Zużycie pamięci rośnie, a następnie ponownie:

ps -o rss -p $$ 
var=$(printf "%s\n" {1..100000}) 
ps -o rss -p $$ 
var="smallstring" 
ps -o rss -p $$