# [OT] Ram && Swap

## morgir

Mam taką sprawe. Zastanawiam się jak sobie przerzucić żeby jakieś procesory zamiast z ramu korzystały ze swapa. Może jestem newbie troche ale patrze sobie na takim monitorze i mój system nie wykorzystuje w ogóle Swapa. A że ramu mam tylko 512 więc różnie to bywa...

----------

## malcus89

Jak nie korzysta ze swap to dobrze. A 512 ramu to wystarczająca ilośc.

----------

## morgir

skoro pisze posta chyba oznacza że jednak dla mnie i tego co mam w systemie jednak ... nie wystarczająca. a co do swapu ja bym własnie chciał żeby z niego korzystał

----------

## piotruspan

 *Quote:*   

> jakieś procesory

 

chyba jednak procesy, co ?

 *Quote:*   

> Może jestem newbie troche

 

oj chyba nawet napewno  :Smile: , ja też jestem, nie ma się czego wstydzić...

a właściwie to o co Ci chodzi ? 

system ma używać najpierw ramu, dużo wolniejszym swapem posiłkując się dopiero wtedy jak ram się skończy

proste jak budowa cepa

dziury w całym chyba szukasz ?

----------

## Poe

o co Ci chodzi? to normalne, ze przy duzej ilosci ramu ze swapa korzysta rzadko, albo w ogole. mi przy 384mb ramu, przy wysokim obicazeniu systemu (typu emerge + seamonkey + ncmpc + psi + kadu) zjada ze 200-250mb ram i do tego może z max 2mb swapa (ale zazwyczaj te wartosci mają po kilkaset kilobajtów), tak wiec nie martw sie, jest dobrze i normalnie. mozesz sie pobawic łatkami z -ck bodajże, dzieki ktorym mozeszy ustawic wartosc,  ze np. przy uzyciu 200mb ramu, aktywuje sie swap, albo jakas taka podobna łatka (nie pamietam nazwy i dokladnej zasady dzialania, ale to cos w ten deseń), ale generalnie nie ma potrzeby. swap nie zastąpi Ci ramu.

----------

## tomekb

Ja tak OT, ale nie wytrzymałem: ludzie opamiętajcie się!  :Evil or Very Mad:  512 MB ramu to przecież bardzo dużo, nawet dla KDE/GNOME + aplikacje codziennego użytku. Ktoś was w jakieś kompleksy wpędza czy co? Ja mam 256 na dzień dzisiejszy i nie narzekam.

----------

## Kurt Steiner

A ja przyznaję, że mnie pytanie zaciekawiło i jestem bardzo ciekaw czy da się poszczególne procesy zmusić do siedzenia w swapie? Tak czysto poznawczo. Czy da się aż tak manipulować procesami?

Koledze, już chyba wyjaśniliśmy, że RAMu ma dużo - więc teraz może odpowiedzmy na jego pytanie.

----------

## Raku

jasne że się da: linux to kod otwarty. Klawiatura w łapę i do roboty  :Smile: )

----------

## msch

 *Poe wrote:*   

> o co Ci chodzi? to normalne, ze przy duzej ilosci ramu ze swapa korzysta rzadko, albo w ogole. mi przy 384mb ramu, przy wysokim obicazeniu systemu (typu emerge + seamonkey + ncmpc + psi + kadu) zjada ze 200-250mb ram i do tego może z max 2mb swapa (ale zazwyczaj te wartosci mają po kilkaset kilobajtów), tak wiec nie martw sie, jest dobrze i normalnie. mozesz sie pobawic łatkami z -ck bodajże, dzieki ktorym mozeszy ustawic wartosc,  ze np. przy uzyciu 200mb ramu, aktywuje sie swap, albo jakas taka podobna łatka (nie pamietam nazwy i dokladnej zasady dzialania, ale to cos w ten deseń), ale generalnie nie ma potrzeby. swap nie zastąpi Ci ramu.

 

o ktore latki -ck chodzi dokladnie?

----------

## Poe

 *msch wrote:*   

>  *Poe wrote:*   o co Ci chodzi? to normalne, ze przy duzej ilosci ramu ze swapa korzysta rzadko, albo w ogole. mi przy 384mb ramu, przy wysokim obicazeniu systemu (typu emerge + seamonkey + ncmpc + psi + kadu) zjada ze 200-250mb ram i do tego może z max 2mb swapa (ale zazwyczaj te wartosci mają po kilkaset kilobajtów), tak wiec nie martw sie, jest dobrze i normalnie. mozesz sie pobawic łatkami z -ck bodajże, dzieki ktorym mozeszy ustawic wartosc,  ze np. przy uzyciu 200mb ramu, aktywuje sie swap, albo jakas taka podobna łatka (nie pamietam nazwy i dokladnej zasady dzialania, ale to cos w ten deseń), ale generalnie nie ma potrzeby. swap nie zastąpi Ci ramu. 
> 
> o ktore latki -ck chodzi dokladnie?

 

no wlasnie nie potrafie sobie teraz przypomniec. musze poprzegladac sobie starsze patche w -ck, jak znajde, dam znac..

----------

## msch

dzieki, bo zaciekawil mnie temat  :Smile: 

----------

## morgir

hehehe potrafie zadawać pytania. Chodzi oto że mam kde + super karambe pare motywów + yakuake w którym się zazwyczaj coś dzieje + kadu. Odpalam Xine oglądam filmik dvd no i mam troche mało fps. Dlatego zastanawiam się czy jakieś procesy (rzecz jasna nie procesory - literówka , przepraszam) nie da sie przerzucić do swapa. Np w tym momencie. Kadu nieczynne ale odpalone, karamaba, yakuake, firefox, i zwieszone xine w tle (nic nie leci tak sobie tylko wisi) pokazuje mi że mam zużyte jakieś 492/512 mb...

----------

## tokoloshe

 *morgir wrote:*   

> Chodzi oto że mam kde + super karambe pare motywów + yakuake w którym się zazwyczaj coś dzieje + kadu. Odpalam Xine oglądam filmik dvd no i mam troche mało fps. Dlatego zastanawiam się czy jakieś procesy (rzecz jasna nie procesory - literówka , przepraszam) nie da sie przerzucić do swapa. Np w tym momencie. Kadu nieczynne ale odpalone, karamaba, yakuake, firefox, i zwieszone xine w tle (nic nie leci tak sobie tylko wisi) pokazuje mi że mam zużyte jakieś 492/512 mb...

 

Dlaczego sądzisz, że jest to wina braku ramu? zobacz topem na obciążenie procesora. Miesza Ci dyskiem?

W jaki sposób sprawdziłeś taką zajętość pamięci? Linux pcha m.in pliki z których korzysta do pamięci, więc pewnie sprawdziłeś zajętość pamięci razem z tymi buforami.

----------

## dotmod

Jak nie używa swapu to widać ramu mu nie brakuje

Zużywa cały ram bo pamięć nie używana=pamięć zmarnowana, tak naprawdę większość to pewnie cache i bufory

```
free -m
```

ważne to co obok -/+ buffers/cache

512MB to przynajmniej dla architektury x86 mnóstwo pamiąchy, KDE wcale takie żarłoczne nie jest (np w porównaniu z XP)

Mało fps-ów w filmach to raczej coś źle skonfigurowane z grafiką, może mtrr?

----------

## qermit

 *morgir wrote:*   

> hehehe potrafie zadawać pytania. Chodzi oto że mam kde + super karambe pare motywów + yakuake w którym się zazwyczaj coś dzieje + kadu. Odpalam Xine oglądam filmik dvd no i mam troche mało fps. Dlatego zastanawiam się czy jakieś procesy (rzecz jasna nie procesory - literówka , przepraszam) nie da sie przerzucić do swapa. Np w tym momencie. Kadu nieczynne ale odpalone, karamaba, yakuake, firefox, i zwieszone xine w tle (nic nie leci tak sobie tylko wisi) pokazuje mi że mam zużyte jakieś 492/512 mb...

 Część Ramu to i tak przez cache jest zajęte. 

Co do małej ilości FPS, sprawa rozchodzi się bardziej o kartę graficzną i sterowniki do rysowania po ekranie (Xv)

----------

## psycepa

a twierdzenia ze jak sie pare procesow 'przerzuci do swapa' to filmy beda lepiej chodzily swiadczy o duuuzej nieznajomosci tematu, filmy sa zdaje sie na bieżąco doczytywane z dysku, wiec jak dysk jeszcze bedzie musial sie zajmowac swapem to na pewno film lepiej chodzil nie bedzie, wrecz przeciwnie...

----------

## morgir

po pierwsze nie chciałem xine przerzucać do swapa tylko jakieś mniejsze procesy. Po drugie 

```

             total       used       free     shared    buffers     cached

Mem:           501        495          6          0        173         83

-/+ buffers/cache:        238        262

Swap:          556          0        556

```

mam 6 mb wolnego ... to chyba nie za wiele

----------

## dotmod

masz 262 wolnego ... to chyba nie za mało   :Laughing: 

Czytaj odpowiedzi ze zrozumieniem  :Wink: 

----------

## morgir

no racja 262..procesor jest obiciążony różnie. Przy emerge w 100% ale normalnie w jakiś 30%

----------

## Johnny_Bit

 *morgir wrote:*   

> no racja 262..procesor jest obiciążony różnie. Przy emerge w 100% ale normalnie w jakiś 30%

 

szkoda że nie ma emotki opadniętej szczęki... mi przy odtwarzaniu filmu w jakości DVD + masa śmieci uruchomione +gnome (jak ja niecierpie kde) i się użycie procesora nie wybija ponad 10%... a normalnie to powinno być chyba przy: kilka procesów włączonych, może xmms, może kadu, może firefox... w tedyto się nawet nie ośmieli przekroczyć 5%...

A co do tematu niskiego fps:

Tu ma się pamięć jak płyta CD do miedzianego radiatora na procu... tu główną role odrgyfa karta graficzna, np na moim radeonie bez zainstalowanych sterowników nawet okna się marnie rysują, mimo iż mam w cholere ramu, co dopiero filmy... ustaw sobie porządnie Xy, w xine ustaw normalnie output jak trza a nie kombinuj niestworzone historie...

----------

## Kurt Steiner

 *Johnny_Bit wrote:*   

> szkoda że nie ma emotki opadniętej szczęki... mi przy odtwarzaniu filmu w jakości DVD + masa śmieci uruchomione +gnome (jak ja niecierpie kde) i się użycie procesora nie wybija ponad 10%... a normalnie to powinno być chyba przy: kilka procesów włączonych, może xmms, może kadu, może firefox... w tedyto się nawet nie ośmieli przekroczyć 5%...

 No wiesz, nie wszyscy muszą mieć takie hiper maszyny jak Ty... Ja na przykład mam w domu P2 350 MHz - odtwórz na tym film tak, żeby procesor nie podskoczył powyżej 10%...  :Razz: 

 *Johnny_Bit wrote:*   

> odrgyfa

 rzeczywiście... emotka opadniętej szczęki by się przydała...  :Laughing: 

----------

## morgir

 *Quote:*   

> 
> 
> szkoda że nie ma emotki opadniętej szczęki... mi przy odtwarzaniu filmu w jakości DVD + masa śmieci uruchomione +gnome (jak ja niecierpie kde) i się użycie procesora nie wybija ponad 10%... a normalnie to powinno być chyba przy: kilka procesów włączonych, może xmms, może kadu, może firefox... w tedyto się nawet nie ośmieli przekroczyć 5%...

 

ehm przyznam racje maszyne to masz pakerną.. wrzuce swojego topa...tak sobie

```

Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie

Cpu(s): 44.5% us,  2.0% sy,  0.0% ni, 53.5% id,  0.0% wa,  0.0% hi,  0.0% si

Mem:    513068k total,   500356k used,    12712k free,    41064k buffers

Swap:   570268k total,      156k used,   570112k free,   209924k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

 5235 root      15   0  191m  58m 5360 S 39.2 11.6 216:59.00 X

 2347 robert    15   0 24828  13m  10m S  3.7  2.7   0:03.90 yakuake

 5336 robert    15   0 30736  18m  13m S  1.3  3.7   8:02.73 superkaramba

 5297 robert    15   0 27916  13m  10m S  0.3  2.7   0:05.62 kded

 5310 robert    16   0 23776 9244 7144 S  0.3  1.8   0:00.16 ksmserver

 5317 robert    15   0 29588  16m  12m S  0.3  3.3   0:38.83 kicker

 5319 robert    15   0 23968 9.8m 7960 S  0.3  2.0   0:01.07 klipper

 2366 robert    15   0 46668 8084 5320 S  0.3  1.6   0:15.50 xmms

```

jest to wartość chwilowa, ale X-y jedzą mi prawie 40% procka .. a mam athlona 2500 ... nie za dużo troche?

A owszem mam Radeona 9200, i nie powiem żaden manual mi nie pomógł żeby "dobrze" zainstalować sterowniki. Jak zainstalowałem ati-drivers to przy aplikacjach korzystających z przyspieszenia widziałem głównie paski...

----------

## 13Homer

512 MB to może jest dużo dla zwykłego użytkownika. Ja miałem tyle, ale musiałem dokupić (teraz mam 1.25 GB), bo Eclipse mi wszystko zabierał (zdaje się, że podchodziło pod 400 MB). Ale z Javą tak często bywa. No i nie mam KDE, czy Gnoma, tylko Fluxboksa.

A co do Firefoksa: on potrafi zeżreć dużo ramu, szczególnie gdy jest otwartych wiele zakładek (czy tez okien, zależy jak kto ma). O ile pamiętam, to czasami potrafi także zabrać 100% procesora - parę razy tak miałem, ale po jego restarcie wszystko wracało do normy.

Cache i bufory są chyba trzymane w pamięci w sposób "niewidoczny" dla użytkownika, tzn. pamięć ta jest traktowana jako nieprzydzielona (nie jest zrzucana na swap, gdy trzeba przydzielić pamięć jakiejś aplikacji). Jest pewnie jakieś minimum (nie ma chyba systemu, który się potrafi bez tego obyć), ale na tyle małe, że można to pominąć (chyba, że ktoś ma 256 MB i zasobożernego managera okien).

A co do zmuszania procesu (aplikacji) to korzystania ze swapu: może wystarczyłoby nice? Jeśli proces ma mały priorytet, to jest rzadziej wykorzystywany, więc ma szansę szybciej się znaleźć na swapie. Oczywiście przy wystarczającej ilości ramu raczej nie da to efektu :)

morgir: a masz działającą akcelerację? sama instalacja sterowników nie zawsze jest skuteczna. Ja mam X700, ale też potrafi się zacinać, zależy co uruchamiam (jeśli Quake4 to prawie nie da się grać). I jeszcze jedno: dla systemu jest bez znaczenia, czy będzie czytał dane dla xine, czy dla innej aplikacji (którą chciałbyś zmusić do korzystania ze swapu, np. karamby) bo oznacza to zwiększenie ilości pobieranych danych z dysku (troche filmu, trochę tych innych danych), a to może zapychać magistralę (tym bardziej, że głowica dysku musiałaby ciągle "skakać").

----------

## Smoothny

Co do tematu i zmuszania pewnych programow do rezydowaniu w pewnym miejscu w pamieci zdaje mi się ze bez ingerencji w kod zrodlowy kernela nie ma takiej mozliwosci.

Większość programow zjada pamięć wywołaniami malloc, calloc, realloc; z resztą jest do mechanizm "generic" dla roznych sysmtemow operacyjnych. Blizej jądra jest brk które tez nieoferuje zadnej metody okreslenia gdzie chcemy tę pamięć skonsumować.

Dla przyjemnosci programistow zwracana pamiec jest ciągła w sensie logicznym chociaz fizycznie takie odwolania do pamieci przechodzą przez rozne ciekawe tabele cześciowo programowo , częściowo sprzetowo (mechanizm stronnicowania).

----------

## Raku

 *13Homer wrote:*   

> A co do Firefoksa: [...] O ile pamiętam, to czasami potrafi także zabrać 100% procesora - parę razy tak miałem, ale po jego restarcie wszystko wracało do normy.

 

wystarczy zamknąć zakładki gdzie jest dużo bannerów flashowych. W 99% przypadków pomaga.

morgir: a masz działającą akcelerację? sama instalacja sterowników nie zawsze jest skuteczna. Ja mam X700, ale też potrafi się zacinać, zależy co uruchamiam (jeśli Quake4 to prawie nie da się grać).[/quote]

Wniosek z tego taki: należy unikac jak ognia kart ATI   :Twisted Evil: 

Ja już sobie postanowiłem: przy upgradzie sprzętu nowa karta będzie z logiem Nvidia. Jak Mikołaj laptopa przyniesie, to zastrzelę jak zobaczę w nim ATI    :Evil or Very Mad: 

A miało być tak pięknie z moim R9550   :Rolling Eyes: 

----------

## 13Homer

 *Raku wrote:*   

> Wniosek z tego taki: należy unikac jak ognia kart ATI  :twisted:

 

Chyba Ci nabluzgam na PM ;) Ja mam laptopa, większość gierek chodzi płynnie, tylko te o najwyższych wymaganiach tak się tną (mam chyba tylko 64 MB pamięci na karcie). Zresztą Ati na Windowsach podobno jest o niebo lepsze (wydajniejsze) od Nvidii, a ostatnio Heroes V nie za bardzo chciały mi działać na średnich ustawieniach.

Z akceleracją już nie mam kłopotów, Composite nie potrzebuję, czego jeszcze mogę chcieć? Pod Linuksem za dużo nie gram, bo po góra 15 minutach laptop mi się po prostu wyłącza.

----------

## villantreal

A ja się odniosę bezpośrednio do pytania.

Linux w serii 2.6 posiada plik sterujący "ochotą" z jaką system  korzysta ze swapu - /proc/sys/vm/swappiness

Jego zawartość rozciąga sie od 0 - system korzysta ze swapu tylko gdy jest to niezbędne, do 100 - bardzo agresywne przerzucanie danych z pamięci fizycznej na swap.

Informację tą wyczytałem kiedyś w Linux+ , ale nie testowałem więc nie wiem jakie przynosi efekty.

----------

## martin.k

 *Poe wrote:*   

> mozesz sie pobawic łatkami z -ck bodajże, dzieki ktorym mozeszy ustawic wartosc,  ze np. przy uzyciu 200mb ramu, aktywuje sie swap, albo jakas taka podobna łatka (nie pamietam nazwy i dokladnej zasady dzialania, ale to cos w ten deseń), ale generalnie nie ma potrzeby. swap nie zastąpi Ci ramu.

 

Co do łatek Cona Kolivasa, to chodzi o swap-prefetch i vm-mapped. Za pomocą vm-mapped możesz ustawić przez sysctla wartość, która ci najbardziej odpowiada, w zależności czy twój komp to desktop czy serwer.

Nie będę przepisywał strony Cona - więcej tutaj:http://members.optusnet.com.au/ckolivas/kernel/

 :Smile: 

----------

## msch

ten plik zeczywiscie istnieje, trzeba sie z nim pobawic.

co do -ck, niestety moj angielski jest raczej do dupy  :Very Happy:  jakby man byl po niemiecku - spoko. moglbys troche bardziej mi objasnic o co chodzi z tym swap-prefetch?

----------

## morgir

jeżeli mowa o moim ATI to było tak że działały sterowniki (te od fglrx) było przyspieszenie, a i tak wszystko się sypało...

----------

## Smoothny

 *villantreal wrote:*   

> 
> 
> Linux w serii 2.6 posiada plik sterujący "ochotą" z jaką system  korzysta ze swapu - /proc/sys/vm/swappiness

 

Postanowiłem się przekonać co to daje i muszę powiedzieć że odczułem delikatną poprawę wydajnosci szczegolnie przy dużym obciążeniu dysku twardego (np krotszy czas oczekiwania na zrenderowanie pierwszej klatki przy filmach) .

Dodałem do /etc/sysctl.conf:

```
vm.swappiness = 0
```

----------

## martin.k

 *Smoothny wrote:*   

> 
> 
> Postanowiłem się przekonać co to daje i muszę powiedzieć że odczułem delikatną poprawę wydajnosci szczegolnie przy dużym obciążeniu dysku twardego (np krotszy czas oczekiwania na zrenderowanie pierwszej klatki przy filmach) .
> 
> Dodałem do /etc/sysctl.conf:
> ...

 

Wartość vm.swappiness kontroluje agresywność użycia partycji wymiany. Im wyższa (maksimum to 100) tym w większym stopniu swap będzie używany. Zmiana tego parametru może mieć istotny wpływ na działanie i wydajność systemów z małą ilością pamięci RAM w zależności od chwilowego obciążenia, a także wielu innych czynników. 

Ja polecam jednak łatki vm-mapped i swap-prefetch z -ck, które modyfikują nieco działanie tego algorytmu.

EDIT: Dla lubiących majsterkować polecam jeszcze zapoznanie się z:

```
ulimit -a
```

----------

