Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2019-06-13 05:32:55

  jamesbowers - Nowy użytkownik

jamesbowers
Nowy użytkownik
Zarejestrowany: 2019-05-06

Tuning - przyspieszanie linuxa

Dla Windowsa 10 jest mnóstwo poradników jak usprawnić działanie Windowsa 10.

Czy dla linuksów jest podobnie ? Pytam, bo natknąłem się na artykuł gdzie radzą ustawić SWAP na jakąś wartość nawet 10-15 aby dane były trzymane w RAMie a nie zrzucane na dysk, znaczy sie i tak są ale to dopiero i jak zapełni się w ~90%.

Kolejna sprawa ustawianie instalacji systemu, jest jakaś uniwersalna metoda ile ma mieć SWAP, ile i te inne ? logiczne, podstawowe ? W sieci sa poradniki to fakt, ale staaaaaaaare a wiadomo Linuksy nie stoją w miejscu i może trzeba zastosować inne metody/triki ?

Offline

 

#2  2019-06-13 11:48:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Tuning - przyspieszanie linuxa

Ile masz RAM? Czy korzystasz z hibernacji (suspend2disc)?
Jaki procek?
Jaki dysk twardy?

Jakie środowisko graficzne?

Praktycznie w ogóle nie musisz robić swapa przy instalacji, może to być plik wymiany dodany w każdej chwili.
Zasadniczo Linux od jakichś 8GB RAM powinien chodzić sprawnie bez żadnego swapa,
tylko hibernacja nie będzie miała się gdzie zapisać.

Ja np mam 8GB RAM i ustawione:

Kod:

vm.swappiness = 1

Swapa mam z dawnych lat 4GB, założony na starym dyziu 10 lat temu.
System przy normalnej pracy praktycznie w ogóle go nie używa.

Ostatnio edytowany przez Jacekalex (2019-06-13 11:54:51)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2019-06-13 13:11:39

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Tuning - przyspieszanie linuxa

Za małe wartości w swappiness też są niedobre, bo programy ładując do pamięci dane podczas uruchamiania, czasem się do części z nich w ogóle nie odwołują. Więc te dane są potrzebne jedynie podczas startu programu i sobie leżą nieużywane w RAM marnując ją. A tak to system je sobie zrzuci za jakiś czas do swap i masz przez to więcej miejsca na nowe programiki w RAM.

Offline

 

#4  2019-06-13 14:01:14

  urbinek - Dzban Naczelny

urbinek
Dzban Naczelny
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Tuning - przyspieszanie linuxa

Co do cen ramu - http://m.benchmark.pl/aktualnosci/spadaja-ceny-pami … -na-2019.html

Kupienie 16 czy 32 gb ram jest śmiesznie tanie.

Pozatym od jakiegoś czasu używam zram do przechowywania skompresowanego swapa w pamięci RAM.

Brzmi to trochę bezsensownie - swap wkoncu jest po to zeby system dał sobie radę jak zabraknie ramu i taka konfiguracja jest dziwaczna ale spotkałem się pare razy z aplikacjami, które bez swap sie wyzwalały.

Poza tym zram ma kompresję, więc zyskujemy więcej pamięci wirtualnej niz tracimy ;)


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#5  2019-06-13 14:18:43

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Tuning - przyspieszanie linuxa

SWAP nie jest po to by system se dał radę jak mu zabraknie pamięci RAM. :] System operuje tylko i wyłącznie na RAM i jak masz zapełniony RAM, to SWAP ci nie pomoże w niczym. Bo jak będziesz chciał podnieść okienko firefox'a, to zanim je zobaczysz, to system dane ze SWAP będzie musiał przenieść do RAM, a dopiero potem je może odczytać. No a jak masz RAM zapełniony, to jakieś dane muszą zostać zrzucone do SWAP no i zaczyna się zabawa i system nie robi nic innego tylko przerzuca dane z RAM do SWAP i ze SWAP do RAM no i wpada w swapstorm i jak nie pozamykasz aplikacji, to ci się albo system powiesi albo stanie się tak niesamowicie wolny, że go tak czy inaczej zresetujesz. xD

Offline

 

#6  2019-06-13 14:37:31

  urbinek - Dzban Naczelny

urbinek
Dzban Naczelny
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Tuning - przyspieszanie linuxa

Nie mówię tutaj i szybkości otwieranie pornhuba tylko stabilności systemu. Bez pamięci swap jak skończy ci sie ram (około 95% jak mnie pamięć bie myli) system zaczyna ci srać OOM i losowe procesy sie wypierdalają/sa za zabijane.

Ihmo w dzisiejszych czasach swap jest tylno poto, żeby właśnie oom killer nie zrobił z pamięci jesienią średniowiecza.

Pomijając, ze sporo aplikacji korzysta z shm i żaden ram tutaj nie pomoże :D


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#7  2019-06-13 14:56:07

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Tuning - przyspieszanie linuxa

Podałem ci przykład jak się zachowuje system w przypadku wyczerpania pamięci RAM, gdy masz SWAP. xD Choć wszystko zależy od indywidualnego wykorzystania systemu.

Co do samego OOM-killer'a, to jego zachowanie można skonfigurować przez sysctl — są dwie opcje: 1) ubijaj ten proces, który doprowadził do OOM, 2) ubijaj ten proces, który w sytuacji OOM zjada najwięcej zasobów, w tym przypadku pewnie poleciałby firefox, lub jeden z jego procesów, bo ten killer może faworyzować zabijanie procesów głównych lub potomnych. Dodatkowo, każdy proces w systemie może podać wskazówki dla OOM-killer'a i poinformować go jak ma traktować ten konkretny proces:


3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj- Adjust the oom-killer score
--------------------------------------------------------------------------------

These file can be used to adjust the badness heuristic used to select which
process gets killed in out of memory conditions.

The badness heuristic assigns a value to each candidate task ranging from 0
(never kill) to 1000 (always kill) to determine which process is targeted.  The
units are roughly a proportion along that range of allowed memory the process
may allocate from based on an estimation of its current memory and swap use.
For example, if a task is using all allowed memory, its badness score will be
1000.  If it is using half of its allowed memory, its score will be 500.

There is an additional factor included in the badness score: the current memory
and swap usage is discounted by 3% for root processes.

The amount of "allowed" memory depends on the context in which the oom killer
was called.  If it is due to the memory assigned to the allocating task's cpuset
being exhausted, the allowed memory represents the set of mems assigned to that
cpuset.  If it is due to a mempolicy's node(s) being exhausted, the allowed
memory represents the set of mempolicy nodes.  If it is due to a memory
limit (or swap limit) being reached, the allowed memory is that configured
limit.  Finally, if it is due to the entire system being out of memory, the
allowed memory represents all allocatable resources.

The value of /proc/<pid>/oom_score_adj is added to the badness score before it
is used to determine which task to kill.  Acceptable values range from -1000
(OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX).  This allows userspace to
polarize the preference for oom killing either by always preferring a certain
task or completely disabling it.  The lowest possible value, -1000, is
equivalent to disabling oom killing entirely for that task since it will always
report a badness score of 0.

Consequently, it is very simple for userspace to define the amount of memory to
consider for each task.  Setting a /proc/<pid>/oom_score_adj value of +500, for
example, is roughly equivalent to allowing the remainder of tasks sharing the
same system, cpuset, mempolicy, or memory controller resources to use at least
50% more memory.  A value of -500, on the other hand, would be roughly
equivalent to discounting 50% of the task's allowed memory from being considered
as scoring against the task.

For backwards compatibility with previous kernels, /proc/<pid>/oom_adj may also
be used to tune the badness score.  Its acceptable values range from -16
(OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17
(OOM_DISABLE) to disable oom killing entirely for that task.  Its value is
scaled linearly with /proc/<pid>/oom_score_adj.

The value of /proc/<pid>/oom_score_adj may be reduced no lower than the last
value set by a CAP_SYS_RESOURCE process. To reduce the value any lower
requires CAP_SYS_RESOURCE.

Caveat: when a parent task is selected, the oom killer will sacrifice any first
generation children with separate address spaces instead, if possible.  This
avoids servers and important system daemons from being killed and loses the
minimal amount of work.


3.2 /proc/<pid>/oom_score - Display current oom-killer score
-------------------------------------------------------------

This file can be used to check the current score used by the oom-killer is for
any given <pid>. Use it together with /proc/<pid>/oom_score_adj to tune which
process should be killed in an out-of-memory situation.

Offline

 

#8  2019-06-13 16:18:49

  buster - Użytkownik

buster
Użytkownik
Zarejestrowany: 2019-06-03

Re: Tuning - przyspieszanie linuxa

Kiedyś czytałem na forum Gentoo, że jak masz 32GB - 64GB RAM to system możesz zainstalować w ramie. Jak się to ma do takiego dysku SAMSUNG 970 EVO PLUS 2TB M.2. Dysk SSD o pojemności 2TB, format M.2, zapis - 3300MB/s, odczyt - 3500MB/s ? Czy nadal system zainstalowany w ramie będzie szybszy? DDR4 jest szybsze od DDR3, a o ile to będzie szybsze od tego dysku?

Ostatnio edytowany przez buster (2019-06-13 16:20:50)

Offline

 

#9  2019-06-13 16:41:39

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Tuning - przyspieszanie linuxa

Instalacja systemu w RAM nie daje takiego kopa, jak się niektórym wydaje.

Jeżeli masz np 25GB partycję root i 32GB ram, to wystarczy nie wyłączać kompa,
a po jakimś czasie wszystko, co było uruchamiane jest w pamięci RAM zbuforowane.

Dlatego używam s2ram, nie wyłączam kompa,99% restartów to u mnie aktualizacja kernela.

Jest też kilka opcji ładowania programów i bibliotek do ram przy starcie jak np e4rat-preload.

W Linuxie sporo optymalizacji dodają Developerzy kernela, także niewiele już można poprawić we własnym zakresie, poza gimnastykami na netbookach z małymi bateriami czy starych kompach z malutkim prockiem czy RAM.

Pozdro

Ostatnio edytowany przez Jacekalex (2019-06-13 16:42:51)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2019-06-13 16:46:22

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Tuning - przyspieszanie linuxa

No chyba, że dużo kopiujesz danych, wtedy ci te zbuforowane dane wywali. xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)