Thread View: pl.comp.sys.pc-unix
7 messages
7 total messages
Started by Krzysztof Murkowski
Tue, 11 Mar 1997 07:01
Obliczanie ilosc swap'a
Author: Krzysztof Murkowski
Date: Tue, 11 Mar 1997 07:01
Date: Tue, 11 Mar 1997 07:01
22 lines
1606 bytes
1606 bytes
Czesc, troche szkoda, ze jednak nie powstala grupa zajmujaca sie UNIX'em w ogolnosci, gdyz moje pytanie jest wlasnie tej natury : 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. Rozumiem, ze glownym zadaniem swapa jest mozliwosc zapisania obrazu pamieci w wypadku upadku systemu, (w zwiazku z tym musi miec conajmniej wielkosc pamieci, chyba ze mamy 2GB RAMu) oraz udostepnianie przestrzeni dyskowej pod stronicowanie i wymiatanie. Jak wielkosc swapu wplywa na wydajnosc systemu i jakie rozumowanie powinno byc uzyte przy jej planowaniu ? Interesuja mnie przemyslenia ogolne i zwiazane z konkretnym systemem. Pozdrawiam : -- Krzysztof Murkowski mailto:murek@ml.put.poznan.pl http://www.ml.put.poznan.pl/~murek
Re: Obliczanie ilosc swap'a
Author: ro... root
Date: Tue, 11 Mar 1997 00:00
Date: Tue, 11 Mar 1997 00:00
22 lines
1457 bytes
1457 bytes
Krzysztof Murkowski <mu...@ml.put.poznan.pl> wrote: : 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. Rozumiem, ze glownym zadaniem : swapa jest mozliwosc zapisania obrazu pamieci w wypadku upadku systemu, : (w zwiazku z tym musi miec conajmniej wielkosc pamieci, chyba ze mamy : 2GB RAMu) oraz udostepnianie przestrzeni dyskowej pod stronicowanie i : wymiatanie. Jak wielkosc swapu wplywa na wydajnosc systemu i jakie : rozumowanie powinno byc uzyte przy jej planowaniu ? Interesuja mnie : przemyslenia ogolne i zwiazane z konkretnym systemem. Chyba najbardziej zdrowe podejscie do sprawy, to 2xRAM. U siebie, na serwerze z 64MB RAMu, zainstalowalem 128MB swapa. Wydaje mi sie, ze wiekszosc ludzi tez tak robi. -- Piotr "Dexter" Roszatycki mailto:dex...@dedal.man.szczecin.pl http://www.szczecin.pl/~dexter irc:Dexter#SzczeciN
Re: Obliczanie ilosc swap'a
Author: Pawel T. Jochym
Date: Tue, 11 Mar 1997 00:00
Date: Tue, 11 Mar 1997 00:00
44 lines
2331 bytes
2331 bytes
Krzysztof Murkowski wrote: > > Czesc, > > troche szkoda, ze jednak nie powstala grupa zajmujaca sie UNIX'em w > ogolnosci, gdyz moje pytanie jest wlasnie tej natury : > > 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. Rozumiem, ze glownym zadaniem > swapa jest mozliwosc zapisania obrazu pamieci w wypadku upadku systemu, > (w zwiazku z tym musi miec conajmniej wielkosc pamieci, chyba ze mamy > 2GB RAMu) oraz udostepnianie przestrzeni dyskowej pod stronicowanie i > wymiatanie. Jak wielkosc swapu wplywa na wydajnosc systemu i jakie > rozumowanie powinno byc uzyte przy jej planowaniu ? Interesuja mnie > przemyslenia ogolne i zwiazane z konkretnym systemem. > Problem w tym ze dobor wielkosci swapa to raczej sztuka niz wiedza. Wiele zalezy od sposobu w jaki maszyna bedzie uzywana. Mnie przydaje sie takie sposob szacowania: zastanowic sie jaki bedzie maksymalny wykorzystywany obszar pamieci (jednoczesnie), dodac 30-50% i jesli przekracza 128MB to sie dobrze zastanowic. Praktycznie wychodzi ze przy 16MB RAM zazwyczaj 32-48MB swap to jest wystarczajaco. Tak samo przy 32MB ale jesli mowa o stacji roboczej. W przypadku maszyny uzywanej przez wiele osob jednoczesnie (server) 64-96MB. Podkreslam ze to sa tylko moje doswiadczenia a nie "wiedza objawiona". A co do funkcji swapa-a to sluzy on do realizacji pamieci wirtualnej a nie jako "dump - area". Obszar do tego typu zrzutu musi miec rozmiar rowny calemu rozmiarowi maksymalnemu pamieci wirtualnej (zazwyczaj RAM+SWAP). Pawel. -- Pawel T. Jochym Institute of Nuclear Physics e-mail: p...@pkpf.if.uj.edu.pl Cracow, Poland tel. 37-02-22 ext. 269
Re: Obliczanie ilosc swap'a
Author: j... Jaroslaw Strzalkowski
Date: Tue, 11 Mar 1997 00:00
Date: Tue, 11 Mar 1997 00:00
35 lines
2681 bytes
2681 bytes
In pl.comp.sys.pc-unix Krzysztof Murkowski <mu...@ml.put.poznan.pl> wrote: : troche szkoda, ze jednak nie powstala grupa zajmujaca sie UNIX'em w : ogolnosci, gdyz moje pytanie jest wlasnie tej natury : : 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. Rozumiem, ze glownym zadaniem : swapa jest mozliwosc zapisania obrazu pamieci w wypadku upadku systemu, Nie. Zadaniem swapa jest organizowanie pami�ci wirtualnej. Mo�na pr�bowa� ustala� jakie� og�lne zasady (jedn� z nich jest, �e przynajmniej tyle ile jest pami�ci fizycznej), ale zasadniczo wszystko zale�y od tego, do czego komputer jest u�ywany. Zreszt� nie wystarczy samo zastanawianie si� nad wielko�ci� swapa - musisz do pud�a wsadzi� tyle pami�ci i da� mu tyle swapa �eby wszystko dobrze hula�o. S� programy, kt�re dobrze czuj� si� na swapie - alokuj� mas� miejsca w pami�ci wirtualnej, ale na bie��co wykorzystuj� tylko pewne fragmenty; dla innych zastosowa� znowu mo�e si� okaza� �e "poczujesz" ju� moment, gdy system w og�le zacznie u�ywa� swap'a (klasyczny przyk�ad: program numeryczny licz�cy co� na du�ej tablicy dwuwymiarowej - w zale�no�ci od sposobu zagnie�d�enia p�tli - czy liczy si� po wierszach czy po kolumnach, program mo�e chodzi� i ze 100 razy szybciej). Jest jeszcze jeden myk - zdarzy�o mi si�, �e jako� tam policzy�em wielko�� potrzebnego swapa i faktycznie nie pomyli�em si� - system w zasadzie mie�ci� si� w tym obszarze - wypadki, gdy zdarza�o si� wylizanie swapa do czysta by�y bardzo rzadkie. Ale system �azi� mu�owato. Co� mi strzeli�o do g�owy i przy pierwszej okazji (jakia� wymiana dysku), na pr�b� dorzucilem mu drugie tyle swapa. I pomog�o! Nie ca�kiem rozumiem czemu (za ma�o znam bebechy j�drowe), ale system nie lubi gdy ma ciasno na swapie. Dysk jest tani - daj mu swap'a z nadmiarem. -- Jaroslaw Strzalkowski, Uczelniane Centrum Informatyki AGH, Krakow
Re: Obliczanie ilosc swap'a
Author: Jarek Lis
Date: Tue, 11 Mar 1997 00:00
Date: Tue, 11 Mar 1997 00:00
31 lines
1382 bytes
1382 bytes
In pl.comp.sys.pc-unix Krzysztof Murkowski <mu...@ml.put.poznan.pl> wrote: : Rozumiem, ze glownym zadaniem : swapa jest mozliwosc zapisania obrazu pamieci w wypadku upadku systemu, : (w zwiazku z tym musi miec conajmniej wielkosc pamieci, chyba ze mamy : 2GB RAMu) Nie. : oraz udostepnianie przestrzeni dyskowej pod stronicowanie i : wymiatanie. Jak wielkosc swapu wplywa na wydajnosc systemu i jakie : rozumowanie powinno byc uzyte przy jej planowaniu ? Interesuja mnie : przemyslenia ogolne i zwiazane z konkretnym systemem. Konkretnie? swap = maksymalna_wymagana_przez_zadania_pamiec - [fizyczny_RAM +] troche_na_sprawna_prace + zapas_na_przyszlosc. Klopot jest oczywiscie z oszacowaniem m.w.p.z.p - wiec raczej lepiej zdrowo przesadzic niz dostawac od programow informacje ze im brak pamieci. A w praktyce ... im swap w porownaniu do RAM wiekszy, tym wieksza szansa ze system bedzie sie slimaczyl. I trzeba wtedy DOKUPIC RAM. J.
Re: Obliczanie ilosc swap'a
Author: 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
Re: Obliczanie ilosc swap'a
Author: Tomasz R. Surmacz
Date: Mon, 17 Mar 1997 12:17
Date: Mon, 17 Mar 1997 12:17
50 lines
2790 bytes
2790 bytes
In pl.comp.sys.pc-unix Wojciech Myszka <W.Myszka@immt.pwr.wroc.pl> wrote:
: Najpierw fakty:
: 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.
5. Stos - znajdujacy sie zwykle w segmencie danych ('od gory'),
ale czasem calkiem osobno.
: 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,
Solaris: swap -s (program przychodzacy z systemem)
Linux: free
: + top (albo ten dostarczany z systemem, albo darmowy dostępny w
: sieci),
A to juz wszedzie :-)
No i takze wynik komendy 'ps -aux' lub 'ps -efl' (zaleznie od odmiany
unixa), ktory m.in. pokazuje wielkosc pamieci zuzywanej przez poszczegolne
programy.
np.:
USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND
tsurmacz 13843 5.5 1.8 1284 1100 pts/4 O 13:14:24 0:01 /usr/ucb/ps -aux
root 131 1.4 17.51378410912 ? S Mar 05 61:56 /usr/sbin/in.named
root 164 0.1 0.7 1268 432 ? S Mar 05 19:15 /usr/sbin/syslogd
..
Np. powyzej - ps zajmuje 1284kB, z czego wlasnych zasobow ma tak
naprawde 1100kB (reszta w swapie lub bibliotekach wspoldzielonych),
nieco bardziej zarloczny jest in.named (13.7 MB z czego 10.1 MB w
pamieci), a syslogd to juz tyle co nic - 1.2 MB, z czego tylko 432 kB
rzeczywiscie zajmuja pamiec w systemie...
--
_________
(_ _' __) Tomasz R. Surmacz *--* Work:(071)320-2636 tsurmacz@ict.pwr.wroc.pl
| (__ \ http://www.ict.pwr.wroc.pl/~tsurmacz/ *----* Home: ts@wroc.apk.net
|__(____/ For PGP key finger tsurmacz@asic.ict.pwr.wroc.pl *---* irc: TomekS
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads