Diminua a prioridade da SWAP do Ubuntu para ter melhor performance!

Memória Ram com maior prioridade que memória SWAPO fun­ci­o­na­mento de um com­pu­tador, para além de muitos ou­tros as­petos, uti­liza a me­mória para ar­ma­zenar os pro­gramas abertos. Sim­pli­fi­cando um pouco, pode-se dizer que essa me­mória é de dois tipos: a me­mória RAM e a SWAP (uti­li­zação do disco rí­gido ou HD).

Ora, a me­mória RAM é bas­tante mais rá­pida que os HDs, no en­tanto ela é mais li­mi­tada em termos de ta­manho. Então o que o Ubuntu faz é uti­lizar a me­mória RAM e quando pre­cisar de mais me­mória uti­liza o disco como me­mória au­xi­liar.

O pro­blema deste fun­ci­o­na­mento do Ubuntu é que ele con­si­dera a pri­o­ri­dade de uti­lizar a me­mória SWAP um pouco ele­vada, uti­li­zando-a mesmo quando ainda tem muito es­paço na me­mória RAM. Assim, este ar­tigo ex­plica como di­mi­nuir essa pri­o­ri­dade fa­zendo com que, na ge­ne­ra­li­dade dos casos, o Ubuntu tenha me­lhores de­sem­pe­nhos.

Este tema do modo de uti­li­zação dos vá­rios tipos de me­mória é bas­tante ex­tenso por­tanto não será com­ple­ta­mente abor­dado neste ar­tigo. Aliás, se quer saber mais de­ta­lha­da­mente estas duas me­mó­rias, su­ge­rimos que leia as re­fe­rên­cias se­guintes:

O acesso à me­mória RAM
é 130 000 vezes mais rá­pida
que o acesso ao HD

Sobre este ar­tigo, ba­si­ca­mente o Ubuntu tem al­go­ritmos que de­finem quando uti­lizar o HD (uti­lizar a me­mória SWAP) para au­xi­liar a me­mória RAM. Esses al­go­ritmos, a de­ter­mi­nada al­tura de uti­li­zação do Ubuntu, co­meçam a guardar in­for­mação da me­mória RAM no disco. Isso é uma po­lí­tica boa para que a me­mória RAM não fique cheia, mas em con­tra­par­tida perde per­for­mance pois está a guardar no disco rí­gido, que é bas­tante mais lento. Aliás, de um modo geral aceder à in­for­mação num disco de­mora cerca de 0.013 se­gundos; já no caso da me­mória RAM de­mora cerca de 0.000 000 1 se­gundos. Isto sig­ni­fica que o acesso à me­mória RAM é 130 000 vezes mais rá­pida que o acesso ao HD.

Ora, esses al­go­ritmos têm va­lores de­fi­nidos de quando uti­lizar a SWAP (pri­o­ri­dade da SWAP). Como esses va­lores estão con­si­de­ra­vel­mente altos, o Ubuntu co­meça desde cedo a uti­lizar a SWAP em vez de en­cher a me­mória RAM. Assim, neste ar­tigo ba­si­ca­mente mu­damos essa pri­o­ri­dade para algo mais baixo, fa­zendo com que o Ubuntu só uti­lize o disco apenas quando es­tiver bas­tante mais con­ges­ti­o­nado em termos de me­mória RAM.

Ob­vi­a­mente que este ar­tigo aplica-se aqueles uti­li­za­dores que têm muita me­mória no com­pu­tador, no­me­a­da­mente 4GB para cima. Re­la­ti­va­mente aos uti­li­za­dores que têm pouca me­mória RAM no com­pu­tador, esses de­verão ana­lisar se o com­pu­tador fica mais rá­pido ou não. Existe pro­ba­bi­li­dade de o com­pu­tador efe­ti­va­mente pre­cisar de uti­lizar muita me­mória e por isso re­correr da SWAP, no­me­a­da­mente quando se está a falar de com­pu­ta­dores com 1GB de me­mória RAM.

Em suma, caso você tenha um com­pu­tador com muita me­mória RAM (4GB ou mais) o mais pro­vável é este ar­tigo ser-lhe útil. Já os uti­li­za­dores com menos me­mória RAM, você pode exe­cutar o pro­ce­di­mento mas de­verá ana­lisar se se efe­ti­va­mente o com­pu­tador ficou me­lhor. Caso con­trário, de­verá voltar aos va­lores pa­drão.

 

Como al­terar a pri­o­ri­dade da SWAP?

Tal como a mai­oria das de­fi­ni­ções do sis­tema Ubuntu, a va­riável que de­fine a pri­o­ri­dade da SWAP está ar­ma­ze­nada num fi­cheiro. Por­tanto, a al­te­ração da pri­o­ri­dade é ex­tre­ma­mente sim­ples, pre­ci­sando apenas de editar o fi­cheiro com po­deres ad­mi­nis­tra­tivos, visto que está a al­terar o com­por­ta­mento do sis­tema.

A pri­o­ri­dade é de­fi­nida
entre 0 e 100.
O valor pa­drão é 60.
Re­co­men­damos o valor 10!

Essa va­riável tem de estar num in­ter­valo entre 0 e 100, em que o zero sig­ni­fica que o sis­tema vai tentar uti­lizar sempre a me­mória RAM e 100 sig­ni­fica que o sis­tema vai estar a guardar cons­tan­te­mente a me­mória RAM no disco. Ob­vi­a­mente que estes dois ex­tremos não são va­lores ótimos, até pelo con­trário. O valor de­fi­nido por pa­drão no Ubuntu é 60, ou seja, tem um valor alto, pro­va­vel­mente para fun­ci­onar cor­re­ta­mente em qual­quer sis­tema. A minha re­co­men­dação, para uti­li­za­dores com muita me­mória é de­finir esse valor para 10, no en­tanto, isso pode va­riar de com­pu­tador para com­pu­tador por­tanto convém fazer al­guns testes (prin­ci­pal­mente se o seu com­pu­tador tiver pouca me­mória RAM).

 

De­fi­nição tem­po­rária da pri­o­ri­dade da Swap

Ex­pe­ri­mente de forma
tem­po­rária este
pro­ce­di­mento para ter a
cer­teza que fun­ciona!

Antes de falar do fi­cheiro que tem a va­riável da pri­o­ri­dade, convém re­ferir que você pode também al­terar a pri­o­ri­dade da SWAP de forma tem­po­rária (ou seja, quando rei­ni­ciar esse valor volta ao normal). Uti­lizar esta fun­ci­o­na­li­dade é ex­tre­ma­mente útil para que você possa fazer testes de qual será o valor ótimo. Assim, re­co­mendo que exe­cute o co­mando abaixo (va­ri­ando os va­lores da pri­o­ri­dade) logo após o ar­ranque do Ubuntu. Uti­lize o Ubuntu du­rante algum tempo e tire ila­ções de como está a per­for­mance. De­pois mo­di­fique o valor da pri­o­ri­dade para algo su­pe­rior ou in­fe­rior, tendo em conta que tem de estar entre o zero e 100.

Sobre o co­mando tem­po­rário, ba­si­ca­mente você apenas pre­cisa de abrir o ter­minal e es­crever o co­mando se­guinte (de­fi­nindo a pri­o­ri­dade a 10):

sudo sysctl vm.​swappi­ness=10

 

De­fi­nição de­fi­ni­tiva da pri­o­ri­dade da SWAP

Quando você souber qual é o valor ótimo, já pode de­finir con­cre­ta­mente o valor da pri­o­ri­dade. Essa de­fi­nição é então feita através da edição  de um fi­cheiro. Para abrir esse fi­cheiro em modo ad­mi­nis­trador, es­creva o co­mando se­guinte que irá pedir a sua senha:

gksu gedit /etc/sysctl.​conf

Será então aberta uma ja­nela se­me­lhante à da imagem abaixo. Você apenas pre­ci­sará mo­di­ficar a va­riável “vm.​swappi­ness” que em prin­cípio não está se­quer de­fi­nida no fi­cheiro. Por­tanto, de­verá então adi­ci­onar uma nova linha no final do fi­cheiro com o se­guinte con­teúdo:

  • vm.​swappi­ness=10

Sendo que 10 é o valor da pri­o­ri­dade que re­co­mendo na ge­ne­ra­li­dade dos casos. No caso de querer pôr outro valor, no­me­a­da­mente para voltar às de­fi­ni­ções pa­drão, só pre­cisa de pôr outro nú­mero.

A definir a Swappiness do Ubuntu 12.04

De­pois de es­crever essa linha, guarde o fi­cheiro e rei­nicie o Ubuntu. A partir desse mo­mento ele passa a uti­lizar essa pri­o­ri­dade.

 

Como saber qual é o valor da pri­o­ri­dade atual?

A qual­quer mo­mento você pode saber qual é o valor da pri­o­ri­dade de­fi­nido. Isto é par­ti­cu­lar­mente im­por­tante para ter a cer­teza que a mo­di­fi­cação que fez na secção an­te­rior sortiu efeito. Para saber qual a pri­o­ri­dade, basta exe­cutar o co­mando se­guinte no ter­minal:

cat /proc/sys/vm/swap­pi­ness

Swapiness do ubuntu a 10

 

http://ubuntued.info/diminua-a-prioridade-da-swap-do-ubuntu-para-ter-melhor-performance

Deixe um comentário