Article View: pl.comp.os.hp-ux
Article #84Re: Obliczanie ilosc swap'a
From: Wojciech Myszka
Date: Wed, 12 Mar 1997 19:57
Date: Wed, 12 Mar 1997 19:57
139 lines
6887 bytes
6887 bytes
Krzysztof Murkowski <murek@ml.put.poznan.pl> wrote in article
<3325034F.1813@ml.put.poznan.pl>...
| spotkalem sie z roznymi funkcjami i podejsciami w planowaniu
| wielkosci swap'a jako funkcji zainstalowanej pamieci.
| Oczywiscie moglo to wynikac z roznic miedzy systemami, ale
| zdarzali sie rozni guru, ktorzy podawali rozne wielkosci dla
| takiego samego system.
[...]
Nie czuję się żadnym guru, niestety. Ale pozwole sobie i ja na kilka
uwag na ten temat. Wszystkie one oparte są na doświadczeniach
zdobytych podczas administowania stacjami roboczymi HP. Z tego co
zdołałem zauważyć u każdego jest to trochę inaczej, ale jak Unix to
standard - to już tak musi być.
Najpierw fakty:
1. Każdy uruchamiany program (zadanie) do swej pracy potrzebuje
pamięci operacyjnej.
2. Inaczej niż w systemie DOS (ta jednoprogramowość) w wielu innych
systemach pamięć operacyjna może byc zadaniu odebrana. Aby mogło się
ono jednak dalej wykonywać (po powrocie do RAM) obraz zadania musi
być gdzieś zapisany. I to włąśnie jest główną funkcją swapu.
3. Każdy program składa się z czterech zasadniczych "części":
+ kod programu (z angielska text),
+ dane (data),
+ niezainicjowane obszary przeznaczone na dane (w skrócie po
angielsku BSS),
+ dodatkowe obszary danych, których zażąda program podcza swojej
pracy.
Generalnie na sprawy patrząc nie ma potrzeby zapisywania do obszaru
swap pierwszego z elementów (pomijamy patologiczne sytuacje kodów
samomodyfikujących). Następne dwie pozycje mogą być dokładnie
określone na etapie pisania programu. Czwarta składowa zależy
zazwyczaj od złożoności rozwiązywanego problemu.
Polecenie size pozwala zbadać wymagania programu jeżeli chodzi o
pierwsze trzy składniki.
W jaki sposób określić zapotrzebowanie na swap? To zależy...
Podstawowe zasady ("rule of thumb"; NB jak to przetłumaczyć ładnie i
dowcipnie na nasze? "reguła kciuka" brzm nieco śmiesznie...):
+ jako minimum przyjąć należy zainstalowaną wielkość RAM,
+ w rozważanich należu uwzględnić poprawkę na "najgorszy
przypadek": maksymalne sumaryczne zapotrzebowanie na pamięć
wszystkich zadań, które zostaną (mogą być) uruchomione w godzinach
szczytu. Korzystac można ze wzmiankowanego polecenia size, czytać
trzeba dokumentację programów, szcować maksymalną liczbę równocześnie
włączonych użytkowników...
Przyjmuje się zatem, że obszar ten powinien być od dwu do czterech
razy większy niż zainstalowana pamięć RAM.
Dodatkową funkcją obszru swap jest możliwość zapisania obrazu pamięci
(dump) operacyjnej w przypadku upadku systemu (panic) do późniejszej
analizy, ale kto dziś takie analizy robi? Trzeba mieć źródła jądra i
całkiem niezłą w nim orientację.
Można sobie zażyczyć, żeby takie zrzut były robione i gdzie indziej,
ale...
W systemie HP-UX można się natknąć na swap trzech rodzajów:
+ device swap (wolumen logiczny, osobna partycja lub wydzielony
dysk specjalnie w tym celu),
+ file system swap (obszar dostępnego systemu plików lokalnego lub
dostępnego przez NFS),
+ pseudoswap (taka teoretyczna konstrukcja pozwalająca wykorzystać
aż do 7/8 zainstalowanej pamięci - nic tam nie zapisujac - jako
swap).
Każdy z nich ma swoje zady i walety:
+ device swap jest znacznie szybszy (bezpośredni dostęp za
pośrednictwem DMA z pominięciem wielu narzutów systemu plików), ale
jest to obszar praktcznie w całości i "na zawsze" stracony.
+ filesystem swap - znacznie wolniejszy, ale łatwiejszy do
odzyskania; w wielu przypadkach nie jest on nawet używany - systemowi
wystarczy "świadomość", że w razie czego może gdzieś nadmiarowe
zadania zrzucić...
Tworząc swap należy kierować się następującymi dodatkowymi
wskazówkami:
+ jeżeli mamy kilka dysków - rozdzielamy go równomiernie pomiędzy
wszystke dyski,
+ najlepiej sprawują się obszary jednakowej wielkości (są one
zapełniane równomiernie), później tracimy wszystkie zalety związane z
kilku napędami,
+ swap należy lokować na tych urządzeniach, gdzie jest najmniejszy
"ruch",
+ gdy korzystamy z możliwości nadawania priorytetów poszczególnym
fragmentom swapu - szbsze albo mniej obciążone urządzenie powinno
mieć wyższy priorytet, urządzenia zbliżone co do ruchu/parametrów
powinny mieć jednakowe priorytety.
Warto też (zwłaszcza w godzinach szczytu) obserwować co się w
systemie dzieje. Służą do tego programy:
+ glance i gpm (bardzo dobre, ale niestety komercyjne) programy
monitorowania systemu. Można zaglądać w różne dziwne miejsca i
zbierać
niesamowite dane o programach i całym systemie,
+ top (albo ten dostarczany z systemem, albo darmowy dostępny w
sieci),
+ yamm (znakomity program, dostępny też chyba w wersji dla Linuxa),
+ dmon
+ sar
+ ipcs
+ swapinfo
Na koniec jak jest u mnie: stacja robocza HP 9000/735, 176 M RAM:
swapinfo -t
Kb Kb Kb PCT START/ Kb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 102400 31176 71224 30% 0 - 1
/dev/vg00/lvol2
dev 307200 33240 273960 11% 0 - 1
/dev/vg00/lvol3
dev 106615 31744 74752 30% 309960 - 1
/dev/dsk/c0t6d0
reserve - 136876 -136876
memory 135788 31836 103952 23%
total 652003 264872 387012 41% - 0 -
Na trzech urządzeniach mam w sumie ok 515 MB. Zapełnione są one
bardzo sprawiedliwie (po ok 30M).
Z powodu używania dosyć pamięciożernych aplikacji CADowskich - zdarza
się, że dochodzę do 75 - 80 % zapełnienia.
Długo wyszło, przepraszam.
Wojtek
--
Wojciech A. Myszka W.Myszka@immt.pwr.wroc.pl
Technical University of Wroclaw, Institute of Material Science
and Applied Mechanics, Smoluchowskiego str. 25
50-370 Wroclaw, Poland, tel. (+48 71) 21-50-28, fax () 21-12-35
Technical Details
Message-ID:
<01bc2f14$e2335e80$LocalHost@myszka.ppp.wcss.wroc.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mailReferences:
<3325034F.1813@ml.put.poznan.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mail From: "Wojciech Myszka" <W.Myszka@immt.pwr.wroc.pl> Newsgroups: pl.comp.sys.pc-unix,pl.comp.os.hp-ux Subject: Re: Obliczanie ilosc swap'a Followup-To: pl.comp.sys.pc-unix Date: 12 Mar 1997 19:57:42 GMT Organization: Prosto z domu Lines: 139 Message-ID: <01bc2f14$e2335e80$LocalHost@myszka.ppp.wcss.wroc.pl> References: <3325034F.1813@ml.put.poznan.pl> NNTP-Posting-Host: myszka.slip.wcss.wroc.pl Mime-Version: 1.0 X-Newsreader: Microsoft Internet News 4.70.1155 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit