Adicionando mais espaço para memória SWAP

by Alexandre on March 7, 2010 e visualizado 0 VEZES

A memória SWAP é uma memória virtual utilizada pelo sistema operacional para que quando a memória física (RAM) estiver cheia o mesmo possa ter um espaço onde possa mover os recursos inutilizados. Com o intuito de ajudar maquinas com pouco recursos de memória (maquinas mais antigas) o mesmo não pode ser visto como um substituto da memória RAM, apenas como um recurso temporário, pois geralmente essa área esta localizada no disco rígido na forma de um arquivo ou partição, sendo mais lento o acesso a essa área do que na memória física.

No Linux, para memória SWAP, podemos combinar partições com arquivos, onde essa combinação é o total de memória SWAP que teremos disponível. Ex: Se temos 1024MB em uma partição de SWAP e criamos mais uma de 512MB em um arquivo ou partição, no total teremos 1536MB.

Configuracao

Primeiro, verifique a quantidade de memória de SWAP já alocada, com o comando:

# free -m
             total       used       free     shared    buffers     cached
Mem:           503        408         95          0         37        289
-/+ buffers/cache:         81        422
Swap:         1019          0       1019

Criando um arquivo vazio de 512MB para a area de swap. Se for uma partição, não ha necessidade de utilizar um arquivo, pule direto para criação da area SWAP.

# dd if=/dev/zero of=/swap bs=1024 count=512000

Criando uma área SWAP no arquivo/particao.

# mkswap /swap

Habilitando o SWAP no Linux

# swapon /swap

Para desabilitar,

# swapoff /swap

Para verificar se a área foi mesmo carregada, basta verificar o arquivo /proc/swaps

# cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	1044184	108	-1
/swap                                   file		511992	0	-4

ou com o comando

# free -m
             total       used       free     shared    buffers     cached
Mem:           503        411         91          0         38        292
-/+ buffers/cache:         81        421
Swap:         1519          0       1519

{ 0 comments }

Criando várias filas de email (queues) para o Sendmail

by Alexandre on December 20, 2009 e visualizado 25 VEZES

O Sendmail utiliza por padrão apenas uma fila de email (queue), que na maioria das vezes é o suficiente para atender os todos os usuários da sua empresa, porém, se você tem um fluxo largo de emails em seu servidor, muitas vezes opta-se por criar várias filas e dividir os emails nesses diretorios, um exemplo é que se há milhares de emails em apenas uma pasta, o uso de processamento será muito maior, ocorrendo uma sobrecarga no mesmo, onde o serviço provavelmente ficara bastante lento. Por isso, uma boa pratica é fazer essa separação como mostro abaixo.

Configuração

Neste caso, vamos criar apenas 5 filas.

# mkdir /var/spool/mqueue/q{1,2,3,4,5}

Verifique a atual permissao da pasta original, /var/spool/mqueue, para aplicarmos nas subpastas.

# ls -la /var/spool |grep -i mqueue
drwx------   2 root   mail     4096 Jul  1 19:23 mqueue

Após isso, basta aplicar a mesma permissão nas subpastas.

# chmod -R 700 /var/spool/mqueue/q*

Devemos também atribuir, no meu caso, o usuário root e grupo mail para as subpastas.

# chown root.mail /var/spool/mqueue/q*

A proxima alteração é no arquivo de configuração do sendmail(sendmail.mc, geralmente em /etc/mail/sendmail.mc).

# vim /etc/mail/sendmail.mc
define(`QUEUE_DIR', `/var/spool/mqueue/q*')dnl

Agora recrie o arquivo de configuração e reincie o serviço

# m4 sendmail.mc > /etc/mail/sendmail.cf

ou

# make clean && make all

que irá recriar tudo.

# service sendmail restart

Para verificar e validar as alterações feitas, execute o mailq, que ele deve resultar em algo assim:

# mailq
/var/spool/mqueue/q6 is empty
/var/spool/mqueue/q4 is empty
/var/spool/mqueue/q3 is empty
/var/spool/mqueue/q2 is empty
/var/spool/mqueue/q5 is empty
Total requests: 0

Nota: Essa pratica deve funcionar nas versões mais recentes do sendmail.

Se já existir emails na sua fila atual, basta mover os mesmos para alguma dessas pastas criadas (q1 por exemplo) que o serviço se encarrega de entrega-los.

{ 0 comments }

</