jak ovlivnit vyuziti pameti

Petr Fischer petr.fischer at me.com
Tue Nov 22 15:15:58 CET 2016


Co zkusit vypnout swap, když paměti je tam dost (na zkoušku, jeden redis fork)? Pak bude bsd agresivněji uvolňovat "inact" ne?

Jestli jsou "inact" hlavně keše (a další dirty záležitosti), a chová se to podobně jako ZFS ARC cache, tak ta mě klidně taky pustí do swapu a radši si nechá "o něco" více nacachováno v ram. Zmenšil sem swap jen na 4GB a od té doby si z něj bsd ukousává mnohem střídměji a ZFS ARC živěji uvolňuje.

Někde jsem četl, že ten uvolňovací algoritmus (na cache apod.) tak ani nepočítá s tím, kolik užral swapu, ale spíše s tím, kolik používá z celkový virtuální paměti, což je RAM + SWAP - a to se pak chová možná trošku jinak.

Nejpíš zde někdo dodá přesnější detaily.

pf


> last pid: 60948;  load averages:  4.36,  4.84,  4.67
> 152 processes: 4 running, 144 sleeping, 4 zombie
> CPU: 26.3% user,  0.0% nice,  3.3% system,  0.3% interrupt, 70.0% idle
> Mem: 1777M Active, 18G Inact, 2336M Wired, 153M Cache, 1644M Buf, 850M Free
> Swap: 16G Total, 744M Used, 15G Free, 4% Inuse, 4K In
> 
>   PID USERNAME THR PRI NICE  SIZE    RES STATE   C  TIME    WCPU COMMAND
> 60943 www       10  52    0  667M 71820K uwait   0  0:02  96.24% node
> 60945 www        6  24    0  642M 58412K usem   13  0:01  32.96% node
> 60944 www        6  23    0  591M 22008K usem    8  0:00  16.89% node
> 60238 www        1  34    0  323M 52528K select  3  0:02  12.89% httpd
> 58766 www        1  32    0  327M 62624K select 12  0:12  11.28% httpd
> 60942 www        6  24    0  591M 22004K usem   10  0:00  10.69% node
> 60122 www        1  52    0  323M 52088K select  0  0:05   9.96% httpd
> 58763 www        1  35    0  327M 61856K select  6  0:14   9.57% httpd
> 
> Takhle nejak to obvykle vypada na jednom webserveru. Ma fyzicky 24GB RAM a
> jak je videt z Topu, tak 18GB je Inact.
> 
> Bezi tam  Apache, ktery ma misty az nekolik set childu, spousti se tam
> nejake relativne kratke ulohy v node.js, ty nejsou nijak pametove narocne,
> ale bezi tam jeste Redis, ktery zabira 7GB RAM a k problemu dojde v
> okamziku, kdy se dela bgsave - to se totiz forkne a chce zabrat dalsich 7GB
> RAM, ktera neni k dispozici - bezne je tam <1GB Free.
> Takze to pak zacne swapovat (do swapu se zapise okolo 4GB) - tomu bych se
> rad vyhnul.
> 
> Je moznost necim ovlivnit to, aby tam RAM zustavala volna / uvolnila se,
> kdyz se forkne redis kvuli bgsave?
> 
> Vim, ze to neni obvykly pozadavek, ale ten stroj driv fungoval s 12GB RAM,
> dalsich 12GB se pridalo, kdyz se tam presouval Redis, jenze to nicemu
> nepomohlo - tu volnou RAM pouzije system k jinym ucelum.
> 
> Mirek
> -- 
> FreeBSD mailing list (users-l at freebsd.cz)
> http://www.freebsd.cz/listserv/listinfo/users-l


More information about the Users-l mailing list