Co to jest pamięć przewodowa?

55

Próbuję dowiedzieć się, co zajmuje całą pamięć w moim Macbooku Pro z systemem OS X Lion. Mam w sumie 8 GB pamięci. Kiedy wychodzę ze wszystkich aktywnych programów oprócz Findera i Monitora aktywności, a następnie uruchamiam czyszczenie pamięci (FreeMemory), wyświetla około 5 GB wolnej pamięci, 1 GB pamięci aktywnej i 1,5 pamięci przewodowej. Dokumenty wsparcia mówią, że pamięć przewodowa jest pełna rzeczy, których „nie można przenieść na dysk”. Co zajmuje całą tę pamięć? Czy to procesy paska menu? Mam pasek narzędzi mozy, last.fm, dropbox i warczenie w pasku menu, ale wszystkie pojawiają się w Menedżerze aktywności i nie wykorzystują znacznej ilości pamięci. Pracuję również z Parallels, ale jest całkowicie zamknięty, więc pomyślałem, że wszystkie rzeczy powinny być zapisane na dysku. Czy to tylko Mac OS X, który używa zarezerwowanej części pamięci i nazywa ją „Przewodową”?

cisellis
źródło
Zamierzam scalić tutaj odpowiedzi - to świetne alternatywne sformułowanie pytania, aby ludzie mogli znaleźć nasze główne pytanie dotyczące tego, czym jest pamięć przewodowa.
bmike

Odpowiedzi:

46

Z tego, co mogę powiedzieć, pamięć przewodowa należy do jądra, najbardziej wewnętrznego jądra Mac OS X. Wiele ikon zostało usuniętych z ikon w pasku menu, które są zwykłymi aplikacjami pokazującymi się w dziwny sposób.

Pamięć przewodowa jest używana do niektórych podstawowych funkcji systemu operacyjnego - takich jak śledzenie wszystkich aplikacji w systemie, otwieranie plików i połączeń sieciowych lub fragmenty pamięci używane przez różne sterowniki. „Tabele stron”, które tworzą mapę pamięci systemu, są również przechowywane w pamięci przewodowej, a system z większą pamięcią potrzebuje większych tabel stron. Podejrzewam, że pamięć używana przez zintegrowane układy wideo w większości komputerów Mac jest również okablowana, ale nie mogę znaleźć niczego, co powiedziałoby to wprost. W każdym razie wiele z tych informacji jest potrzebnych do zarządzania pamięcią i uzyskiwania do niej dostępu, więc nie można jej zamienić na dysk!

Aby zrozumieć, dlaczego, wyobraź sobie ogromną bibliotekę. Pomyślmy na przykład o Bodleian Library na University of Oxford, która ma jedenaście milionów drukowanych pozycji. Nie ma możliwości, aby zmieścić wszystkie te rzeczy w jednym budynku - na pewno nie w środku kampusu uniwersyteckiego.

Zamiast tego wyobraź sobie, że bibliotekarze budują ogromny magazyn. (Prawdziwa biblioteka Bodleian ma około czterdziestu podbibliotek o różnych opisach, plus miejsce na naprawdę rzadkie książki, ale to eksperyment myślowy.) Większość książek jest przechowywana w magazynie, ale wszystko, co ostatnio zostało użyte, jest przechowywane w biblioteka. Jeśli pojawisz się w bibliotece i szukasz książki, która znajduje się w stosach, możesz od razu ją przeczytać. Jeśli nie, poproś bibliotekarza, aby książka, którą chcesz, została przetransportowana z magazynu i przekazana tobie następnego dnia.

Informacje w pamięci przewodowej będą więc takie jak katalog kart, klucze do ciężarówek z książkami i mapy trasy do magazynu. Jeśli przechowujesz te rzeczy w magazynie, nigdy nie będziesz w stanie odzyskać książek, aby przywieźć je z powrotem do biblioteki - dlatego muszą być zawsze przechowywane w bibliotece, aby cały system się nie zepsuł.

W każdym razie, wracając do praktycznych rozważań: pamięć przewodowa jest zasadniczo używana przez komputer do różnego rodzaju wewnętrznej księgowości. Nie powinieneś się tym martwić.

I nie martw się, jeśli masz dużo „nieaktywnej” pamięci i mało „wolnej” pamięci. Pamięć nieaktywna to w zasadzie pamięć, że Mac OS zatrzymuje coś na wypadek, gdyby była potrzebna; jeśli twój system potrzebuje tej pamięci na coś innego, zostanie przekonwertowany na wolną pamięć bez żadnego spadku wydajności.

Aby rozszerzyć metaforę biblioteki, wyobraź sobie, że biblioteka przechowuje książki, które ostatnio były używane w stosach. W stosach jest przestrzeń; nie ma sensu pozostawiać pustego, więc równie dobrze możesz zachować książki, które już tam masz. Nie ma w tym żadnej szkody, a czasem ktoś będzie mógł natychmiast odebrać książkę, na którą inaczej musiałby poczekać.

Podobnie nieaktywna pamięć może tylko przyspieszyć; nie może zaszkodzić komputerowi, więc nie martw się, że będzie za wysoko.

Naprawdę, nie powinieneś się martwić zużyciem pamięci, chyba że przewodowy + aktywny zacznie zbliżać się do 8 GB w komputerze. Wtedy możesz wpaść w kłopoty, ponieważ wtedy Mac OS zacznie zużywać miejsce na dysku, aby dodać „dodatkową” pamięć, co znacznie obniży wydajność.

W przeciwnym razie równie dobrze możesz mieć coś w tej pamięci. Ostatecznie nieużywana pamięć to tylko marnowanie energii - jeśli ją masz, równie dobrze możesz ją wykorzystać.

Brent Royal-Gordon
źródło
2
Nieaktywna pamięć może przyspieszyć tylko wtedy, gdy zestaw używanych aplikacji (i dlatego pozostawionych w nieaktywnej pamięci) jest dość stały i nie różni się znacznie. Jeśli system operacyjny musi odrzucić coś, co znajduje się w nieaktywnej pamięci, aby uruchomić nową aplikację, może to spowolnić. Nie zdarza się to często, ale warto o tym wspomnieć.
alesplin
Mówienie, że nieaktywna pamięć może być dla Ciebie dobra, jest największym kłamstwem świata Mac! W praktyce komputery Apple nie mogą działać, jeśli nie masz dużo nieaktywnej pamięci. Spróbuj „wyczyścić” tę pamięć, a wszystkie twoje programy się zatrzymają, dopóki nieaktywna pamięć nie wróci do około 25% całkowitej pamięci RAM (testowane na Mac OS X 10.6 i 10.7). A jeśli to, co mówisz, jest prawdą w przypadku pamięci przewodowej, to dlaczego Mac OS X tak bardzo jej potrzebuje? Mój komputer (4 GB) zużywa stale co najmniej 800 MB przewodowej i 1 GB „nieaktywnej” pamięci. Nic nie może tego wyjaśnić, ale zły projekt!
PierreBdR,
2
Jeśli komputer Mac używa zintegrowanej grafiki (w przeciwieństwie do drogiego, wymagającego dużej mocy dyskretnego układu graficznego), cała pamięć używana przez kartę graficzną jest okablowana. Samo to 384 MB na moim 13-calowym MacBooku Air. Kontrolery Thunderbolt również potrzebują dużej ilości pamięci przewodowej i nie zdziwiłbym się, gdyby bufory dysków twardych również. Kilkaset megabajtów tutaj, kilkaset tam, wkrótce będziesz chodzi o prawdziwą pamięć. Pytanie brzmi: czy Twój Mac jest pod presją pamięci? Jeśli nie, przestań mieć obsesję na punkcie Monitora aktywności i załatw coś.
Brent Royal-Gordon
Wystarczy dołączyć: używam Parallels dla mojej maszyny wirtualnej Windows, a jej 8 GB zarezerwowanej pamięci jest sklasyfikowane jako „pamięć przewodowa”.
Nullius
19

Odczytywanie zużycia pamięci systemowej w monitorze aktywności

z support.apple.com podaje szczegółowe wyjaśnienie różnych „rodzajów” pamięci RAM.

  • Wolna pamięć: ta pamięć RAM nie jest używana.

  • Przewodowa pamięć: Informacji w tej pamięci nie można przenieść na dysk twardy, dlatego musi pozostać w pamięci RAM. Ilość pamięci przewodowej zależy od używanych aplikacji.

  • Pamięć aktywna: ta informacja jest obecnie w pamięci i była ostatnio używana.

  • Nieaktywna pamięć: Ta informacja w pamięci nie jest aktywnie wykorzystywana, ale została ostatnio użyta.

  • Używane: Jest to całkowita ilość wykorzystanej pamięci.

gentmatt
źródło
7
Powyższe informacje mają na celu „szczegółowe wyjaśnienie” czym jest biologia szkoły średniej w stopniu medycznym. W ogóle nic nam nie mówi o pamięci przewodowej.
Hassan Syed,
2
developer.apple.com/library/mac/documentation/performance/… wypróbuj to, aby uzyskać „szczegółowe informacje”
Hassan Syed
6

Mac OS X to nowoczesny system operacyjny, dlatego korzysta z pamięci wirtualnej, aby pokazać aplikacjom, że przestrzeń pamięci nie jest przedmiotem. Ostatnio używane aplikacje będą miały tendencję do przenoszenia do pamięci RAM, rzadziej używane aplikacje będą przenoszone na dysk twardy (wejścia i wyjścia stron są oznaką tego ruchu). System operacyjny nie użyje dysku twardego, dopóki nie zabraknie mu miejsca w pamięci RAM.

Nie ma konkretnej aplikacji, która „spowodowałaby” gromadzenie się tej przewodowej pamięci. System operacyjny zarządza wszystkimi częściami siebie i uruchomionymi aplikacjami, aby jak najlepiej wykorzystać posiadaną pamięć RAM.

Zamknięcie nieużywanych aplikacji lub jeszcze lepiej, ponowne uruchomienie komputera będzie najskuteczniejszym sposobem na „wyczyszczenie” pamięci. FreeMemory wykonuje dobrą robotę i jestem zaskoczony, że system operacyjny nie wykonuje takich operacji od czasu do czasu… miło jest mieć status wolnej pamięci!

Fred
źródło
6
Bardziej konkretnie pamięć przewodowa to pamięć, której nie można przywołać. Każda inna aplikacja ma swoją pamięć umieszczoną w pliku wymiany, ale pamięć przewodowa zawsze pozostaje w prawdziwym pamięci RAM. Niektóre z najbardziej powszechnych użytkowników pamięci przewodowej to aplikacje do wizualizacji (Parallels, VMWare) i system operacyjny Mac OS X. Nie martw się również, jeśli nie masz dużo wolnej pamięci, pamięć nieaktywna jest tak samo dobra, jak wolna, ponieważ można ją przenieść do dowolnej aplikacji, która jej potrzebuje. Dużo
wejść
Zgadzam się, wiele wejść i wyjść stron jest oznaką niewystarczającej ilości pamięci RAM. Mam 8 GB pamięci RAM w moim systemie i często zabrakło mi „wolnego” miejsca, uruchamiam aplikacje Xcode i Adobe ... Myślę, że wkrótce położę 16 GB, gdy cena spadnie poniżej 500 $. Mam nadzieję, że to wystarczy na jakiś czas! :-)
Fred
Przejście z MBP z ramą 6 GB na MBA z ramą 4 GB uświadomiło mi, że dyski SSD są o wiele lepszą aktualizacją niż dodatkowa pamięć RAM. 4 GB z dyskiem SSD wystarcza do jednoczesnego uruchamiania Chrome, Mail, Skype, VMWare Fusion, iTunes, Aperture, Adium, OmniFocus i innych. Przejście z 4 do 6 GB na moim MBP nie zrobiło ogromnej różnicy.
w00t
6

Ostateczne, choć specyficzne dla systemu operacyjnego, odpowiedzi z Wytycznych dotyczących wydajności użycia pamięci :

Przewodowa pamięć

Pamięć przewodowa (zwana także pamięcią rezydentną) przechowuje kod jądra i struktury danych, których nigdy nie można wysyłać na dysk. Aplikacje, frameworki i inne oprogramowanie na poziomie użytkownika nie mogą przydzielić pamięci przewodowej. Mogą jednak wpływać na ilość pamięci przewodowej w dowolnym momencie. Na przykład aplikacja, która tworzy wątki i porty, pośrednio przydziela pamięć przewodową dla wymaganych zasobów jądra, które są z nimi powiązane.

Tabela 2 przedstawia niektóre koszty pamięci przewodowej dla jednostek generowanych przez aplikację

Przewodowa pamięć generowana przez oprogramowanie na poziomie użytkownika

Jak widać, każdy wątek, proces i biblioteka przyczynia się do rezydencji systemu. Jednak oprócz aplikacji używającej pamięci przewodowej samo jądro wymaga pamięci przewodowej dla następujących elementów:

  • Obiekty maszyn wirtualnych
  • pamięć podręczna bufora pamięci wirtualnej
  • Bufory buforów we / wy
  • Kierowcy

Przewodowe struktury danych są również powiązane z fizycznymi tabelami stron i map używanymi do przechowywania informacji o mapowaniu pamięci wirtualnej. Oba te podmioty są skalowane wraz z ilością dostępnej pamięci fizycznej. W związku z tym, gdy dodajesz pamięć do systemu, ilość pamięci przewodowej wzrasta, nawet jeśli nic innego się nie zmieni. Po pierwszym uruchomieniu komputera w Finderze, gdy żadne inne aplikacje nie są uruchomione, pamięć przewodowa może zużywać około 14 megabajtów w systemie 64-megabajtowym i 17 megabajtów w systemie 128-megabajtowym.

Przewodowe strony pamięci nie są natychmiast przenoszone z powrotem do wolnej listy, gdy stają się nieprawidłowe. Zamiast tego są „usuwane”, gdy liczba wolnych stron spada poniżej progu, który wyzwala zdarzenia stronicowania.

Greenonline
źródło
4

Istnieje kilka bardzo dobrych odpowiedzi i chciałem dodać narzędzie, którego każdy może użyć do udokumentowania dokładnie tego, która pamięć przewodowa jest używana - więc konkretna odpowiedź w przeciwieństwie do ogólnego objaśnienia kategorii.

W przypadku, gdy wszystkie aplikacje zostały zamknięte, a nadal istnieje znaczna ilość pamięci przewodowej, możesz użyć sysdiagnosepolecenia, aby przechwycić przydział pamięci systemowej, gdy zużywa ona więcej pamięci, niż się spodziewasz.

Następnie zapisz / przenieś archiwum tar.gz wyników z / var / tmp na pulpit, aby nie zostały usunięte po ponownym uruchomieniu.

Następnie uruchom ponownie komputer Mac i przed uruchomieniem dodatkowych programów powtórz sysdiagnosepolecenie i porównaj pamięć przed i po, aby zobaczyć, jakie procesy zajmują dodatkową pamięć przewodową.

bmike
źródło
-4

pamięć wirtualna to w zasadzie wolne _ _ miejsce używane jako rozszerzenie pamięci RAM

Arman
źródło
Pamięć wirtualna może być „wolna”, ponieważ „nie ma to wpływu na koszt zapłacony za pamięć RAM” (chociaż przyczynia się coś do kosztu zapłaconego za przechowywanie na dysku) lub „wolna”, ponieważ „nie używa pamięci RAM do przechowywania zawartości” (nie całkiem prawda, ponieważ wymaga niewielkiej ilości pamięci RAM do zarządzania), ale ponieważ koszt pamięci jest zwykle uważany za większy pod względem jego wpływu na szybkość działania, a dostęp do niego jest o wiele wolniejszy niż dostęp do pamięci RAM, tak że trudno uważane za „zasadniczo bezpłatne”.
Zhora,