O que significa o load average, do comando top, no Linux?

Um dos recursos "emergenciais" para que um administrador de sistemas Linux consiga entender um eventual problema com uma máquina é o load average.

Na verdade, é um conjunto de três números (Ex.: load average: 0.39, 0.66, 0.85) que dão a média de utilização de CPU em intervalos de tempo. Mas como interpretar esses valores?

O primeiro valor representa a média no último 1 minuto, o segundo 5 minutos, e o terceiro 15 minutos. Se você possui um servidor com apenas um núcleo, o ideal é que o load average esteja em 1.00.

Um valor de 1.00 significa que o processador está 100% utilizado, e não tem nenhuma sobrecarga. Um valor de 1.50 significa que o processador está com 100% de uso, e 50% de sobrecarga. E assim por diante.

Se seu servidor tiver 2 processadores (núcleos), o valor ideal é 2.00. Se tiver 3 processadores, o valor ideal é 3.00. E assim por diante.

Mas e se o valor estiver sempre alto, quer dizer que temos que colocar mais processadores?

Não. Pode ser ocasionado por vários fatores. Ex.: Disco lento ou com problemas, rede lenta, pouca memória (fazendo swap) etc.

Se o valor estiver muito baixo, também não quer dizer que é melhor. Pode ser que por algum dos motivos citados a cima, o processador não esteja conseguindo utilizar todos os recursos.

Esse valores também podem ser obtidos a partir do comando uptime. O valor de carga no momento atual (sem considerar a média) pode ser obtido a partir do comando: cat /proc/loadavg

Mais informações:


Quantas máquinas virtuais (VM) é possível hospedar em uma máquina física (Host)?

Nesses últimos dias surgiu aqui na empresa a ideia de virtualizar algumas máquinas.

Como não tenho experiência nenhuma em virtualização, é natural o receio de não saber se vale a pena, ou se vai dar certo.

Com base nesse receio, resolvi fazer alguns testes em minha máquina (Um i3 com 4GB de RAM e HD SATA2 de 7200RPM) para descobrir que carga conseguiria comportar. Informações sobre o desempenho da máquina host foram obtidas a partir do comando top.

O software que utilizei para virtualizar foi o KVM e o sistema operacional o Linux Mint 13 (Maya), que é baseado no Ubuntu 12.04. As máquinas virtuais rodam CentOS.

Depois de vários testes, cheguei a seguinte conclusão: é uma boa ideia ter pelo menos 1 núcleo para cada máquina. Na verdade eu já imaginava isso, mas depois do teste, foi confirmado.

Apesar de ser possível rodar mais VMs do que os núcleos que a máquina host possui (Ex.: uma máquina com 4 núcelos rodar 5 VMs), não é recomendável, pois o conjunto como um todo provavelmente vai ficar extremamente lento (e foi isso que aconteceu nos testes).

Também é importantíssimo que você reserve para as máquinas virtuais um pouco menos que o total que a máquina física possui. Ex.: Se você possui 4GB de RAM, é interessante que sobre pelo menos 1GB para a máquina física. Se você não fizer isso, a máquina física irá começar a usar SWAP, e ficar lenta.

Caso a máquina que você pretende virtualizar necessite de muitos recursos, é interessante em alguns casos mantê-la como uma máquina física mesmo. Caso decida virtualizar, pense com carinho nos recursos que pretende destinar a ela, e tenha uma folga para o caso de precisar de mais recursos.

O que foi notado nos testes é que a lentidão se agravou mais ainda porque todas as máquinas faziam uso excessivo de um mesmo recurso: o acesso a disco. Então ter VMs que rodem softwares com características diferentes (Ex.: alguns software requerem mais processamento, outros mais memória, outros mais acesso a disco, rede etc.) pode ser uma boa ideia.

Quer acrescentar alguma coisa? Use os comentários!

Segue abaixo os dados de todos os testes:

### CONFIGURAÇÃO DA MÁQUINA HOST
PROCESSADOR: Intel i5
MEMÓRIA: 4GB DE RAM 
DISCO RIGIDO: SATA2 7200RPM

################################################################################

### SCRIPT UTILIZADO PARA O TESTE

cd /
echo $(date +%s)
tar -zcf teste.tar var
echo $(date +%s)

################################################################################

### DADOS DOS TESTES

TESTE COM 1 VM (1 NÚCLEO - 768MB DE RAM)
ANTES
LOAD AVERAGE: 0.6, 1.2, 1.2
SWAP UTILIZADO: 15MB

PICO
LOAD AVERAGE: 2.7, 1.6, 1.82
SWAP UTILIZADO: 15MB

TEMPO DE PROCESSAMENTO: 35 segundos

--------------------------------------------------------------------------------

TESTE COM 2 VMs (1 NÚCLEO - 768MB DE RAM EM CADA VM)
ANTES
LOAD AVERAGE: 0.6. 1.2. 1.7
SWAP UTILIZADO: 15MB (DESPREZÍVEL)

PICO
LOAD AVERAGE: 2.6, 1.6, 1.7
SWAP UTILIZADO: 18MB (DESPREZÍVEL)

TEMPO DE PROCESSAMENTO (MÉDIO): 94 segundos

--------------------------------------------------------------------------------

TESTE COM 3 VMs (1 NÚCLEO - 768MB DE RAM EM CADA VM)
ANTES
LOAD AVERAGE: 0.8, 1.2, 1.5
SWAP UTILIZADO: 18MB (DESPREZÍVEL)

PICO
LOAD AVERAGE: 4.5, 2.8, 2
SWAP UTILIZADO: 18MB (DESPREZÍVEL)

TEMPO DE PROCESSAMENTO (MÉDIO): 170 segundos

--------------------------------------------------------------------------------

TESTE COM 4 VMs (1 NÚCLEO - 768MB DE RAM EM CADA VM)
ANTES
LOAD AVERAGE: 0.5, 1.6, 1.8
SWAP UTILIZADO: 18MB (DESPREZÍVEL)

PICO
LOAD AVERAGE: 7.6, 4.3, 2.8
SWAP UTILIZADO: 30MB (DESPREZÍVEL)

TEMPO DE PROCESSAMENTO (MÉDIO): 388 segundos

--------------------------------------------------------------------------------

TESTE COM 5 VMs (1 NÚCLEO - 640MB DE RAM EM CADA VM)
ANTES
LOAD AVERAGE: 0.8, 2.0, 3.1
SWAP UTILIZADO: 30MB (DESPREZÍVEL)

PICO
LOAD AVERAGE: 11.7, 7.0, 4.8
SWAP UTILIZADO: 300MB

TEMPO DE PROCESSAMENTO (MÉDIO): 2041 segundos

Problema recorrente com a Oi, GVT, Telefonica etc? Não pense duas vezes: abra uma reclamação na ANATEL!

Depois da privatização das operadoras de telefone do país em 1998, muita coisa mudou. Vieram muitas coisas positivas, como internet banda larga e telefonia móvel acessível a quase todos os brasileiros. Mas existem duas reclamações que boa parte dos brasileiros têm em relação à telefonia: atendimento ruim e problemas recorrentes, ou seja, problemas que vêm, vão e nunca são resolvidos.

Hoje em dia, quando ligo para uma operadora e não sou atendido em 10 minutos, ou então quando um problema é dado como resolvido mas volta a ocorrer, eu nem penso duas vezes: abro uma reclamação na ANATEL, que é agência do governo que, entre outras funções, fiscaliza a qualidade dos serviços prestados pelas operadoras de telefonia móvel (incluindo internet 3g), fixo (incluindo internet banda larga) ou à distância. O endereço para abrir reclamações é esse: http://sistemas.anatel.gov.br/soa/

É dito e certo: em menos de 1 semana (demora um pouco, é verdade) alguém (capacitado a resolver o problema) liga para você e o problema é efetivamente resolvido. Pelo menos foi assim comigo em todas as vezes que usei esse recurso.

Não se esqueça de anotar o protocolo da reclamação! Eu anoto o protocolo, nome do atendente, data e hora do atendimento. Não é obrigatório, mas vai lhe ajudar a ter a solução mais rapidamente.

Além de ter o problema resolvido, é importante fazer isso porque essa é a forma que a ANATEL utiliza para avaliar a operadora. Recentemente, em alguns estados, a operadora que tinha mais reclamações foi proibida de vender chips de celular.

Temos que lembrar que, apesar de as operadoras de telefone serem privadas, elas são obrigadas a garantir qualidade no serviço.

Atualização incluída dia 03 de Janeiro de 2017

Aparentemente o link que eu forneci não funciona mais, mas a Anatel criou um aplicativo para facilitar o registro de reclamações. Usei agora e é bem simples de usar. Segue o link para baixar o aplicativo (Android):

https://play.google.com/store/apps/details?id=br.com.anatel.consumidor&hl=pt


Como calcular quanto você vai receber nas férias

Depois de um bom tempo sem, finalmente vou ter férias!

Mas me bateu uma dúvida: como calcular quanto tenho a receber nas férias?

Acho que todo mundo (ou quase todo mundo) sabe que tem direito a 1/3 de férias. Mas existem alguns descontos: INSS (Previdência) e IRPF (Receita Federal).

Pra saber quanto você deve receber, de verdade, quando for tirar férias, basta usar a calculadora no link abaixo:

http://www.calculador.com.br/calculo/ferias

Tem um detalhe. Supondo que você trabalhe até Julho, e entre de férias no dia 1 de Agosto.

Você recebe o valor das férias e seu salário antes de entrar começar as férias. Só que como você já recebeu adiantado (as férias), você só vai receber novamente no início de outubro (ou final de setembro, dependendo da empresa).


Jason (banda)

Conheci o Jason – a banda, não o personagem de terror! – há uns 10 anos atrás. Na época eles tocaram na minha cidade (Aracaju), mas não deu pra ir pra o show.

Peguei os dois CDs que eles tinham lançado até então (Odeia Eu e Eu Sou Quase Fã de Mim Mesmo) e fiquei ouvindo – praticamente – só aquilo por semanas. A maioria das músicas da banda é bem hardcore, e com vocal, digamos assim, não exatamente melódico 😛 (com poucas exceções).

Anos depois teve outro show aqui em Aracaju, mas já era com outro vocalista e não gostei. Acabei deixando a banda um pouco de lado e nem sabia que eles já tinham lançado outros CDs. Até que semana passada eles vieram aqui (com o vocalista antigo) e tocaram na Rua da Cultura que é um "espaço" organizado toda segunda-feira no Mercado Municipal e traz atrações gratuitas (locais ou de fora).

Já passaram pela rua da cultura bandas como: Móveis Coloniais de Acaju, Porcas Borboletas e Burro Morto. Além de bandas locais como Reação e Cabedal.

O show foi muito bom. Resgataram várias músicas antigas que eu queria ouvir, além das músicas do CD novo. O legal é que a banda disponibiliza todos os CDs de forma gratuita pra quem quizer. Você pode baixá-los nos endereços abaixo:

Você pode ver uma entrevista recente da banda aqui: http://www.punknet.com.br/entrevista-com-a-banda-jason/


Listar os subdiretórios (subpastas) de um diretório (pasta) no Linux

Precisei disso hoje. Pra quem também estiver precisando, vai aqui o comando (execute no Terminal):

ls -d */

Resolvendo problema com Amarok no Linux: Após pausar música, volume volta em 100%

Essa é uma dica rápida pra quem está passando por esse problema. Aconteceu comigo e após uma pequena pesquisa, consegui resolver.

O procedimento foi testado no Linux Mint Debian Edition, mas deverá funcionar normalmente no Ubuntu e Debian.

Pelo que pesquisei, o problema não é no Amarok, mas sim no Phonon, que é uma API multimídia criada para abstrair o gerenciamento multimídia no KDE. Além de outras coisas, isso faz com que o Amarok possa funcionar no Windows e MacOS, por exemplo.

Enfim, sem entrar em maiores detalhes, o post que encontrei me sugeriu trocar o pacote phonon-backend-vlc pelo phonon-backend-gstreamer. Pra isso, digite o seguinte no Terminal:

sudo apt-get update
sudo apt-get remove phonon-backend-vlc
sudo apt-get install phonon-backend-gstreamer

Depois é só fechar e abrir o Amarok, que deve funcionar normalmente. Pelo menos funcionou comigo 🙂

Mais informações:


Speedy e Velox só fornecem 10% da velocidade contratada. Será?

Já é do conhecimento de muita gente que a legislação que regula internet banda larga (Velox, Speedy etc.) obriga o provedor a fornecer apenas 10% da banda contratada, ou seja, se você paga por uma conexão de 10 Mbps (Megabits por segundo), poderá estar recebendo apenas 1 Mbps. É óbvio que é uma regra ridícula, que favorece apenas as empresas de telecomunicação, como Oi e Telefônica. Mas muita gente se confunde na hora de fazer as contas com diferentes medidas.

Por exemplo: a velocidade de um Velox de 5 Mega é Medida em Megabits por segundo. Quando você faz um download, por exemplo no Firefox, o valor que aparece lá é em Megabytes por segundo.

Isso acontece porque tráfego na rede é medido em Megabits, e tamanho de arquivo é medido em Megabytes. Provavelmente você sabe que 1 Megabyte corresponde a 8 Megabits (se não sabe, fica sabendo agora :P). Então fazendo a continha 5 Megabits / 8 = 625 Kilobytes.

Seu download, se o servidor for bom, seria próximo a 625KB/s. Como existe uma perda natural graças à resistência da fiação, você vai baixar a um valor um pouco menor que isso. Geralmente em torno de 550KB/s. Isso quer dizer que a Oi te fornece através do Velox uma conexão em torno de 80% a 90% do contratado.

Pra que você conseguisse fazer o download a 625KB/s, além de fazer download a partir de um servidor muito bom, você precisaria de uma conexão com fibra ótica – já que fibra ótica, teoricamente, não tem resistência – até o seu PC.

Mas lembre-se que servidores de fora costumam ter uma perda maior que em servidores dentro do Brasil. Por isso é importante fazer o download de um servidor do Brasil, quando houver essa opção. Arquivos baixados via Torrent precisam ter muitos seeders (pessoas com o arquivo completo) para que você consiga baixar na velocidade máxima. Geralmente também demora um pouco até que você consiga se conectar a todos os seeders e baixar a velocidade máxima.

Servidores de armazenamento de arquivo como Rapidshare, 4shared e uploaded.to geralmente limitam o download gratuito a 100KB/s, ou seja, não vai fazer diferença se você tem uma conexão de 1 Mega ou 10 Mega. Em ambos os casos, seu download será feito a 100KB/s.

Só pra deixar claro: não estou defendendo nenhuma operadora de telefone. Só tentei exclarecer porque muita gente se confunde nesse assunto. Mas se você tem uma conexão de 1 Mega e baixa a menos de 100KB/s (de um servidor bom), realmente tem alguma coisa errada. Se você quizer testar a sua velocidade, pode fazer isso a partir dos mirrors da UFPR, que costumam ser muito bons: http://ubuntu.c3sl.ufpr.br/releases/precise/.


Debug remoto com o NetBeans e Tomcat no Linux

Passei algum tempo pra fazer isso funcionar, mas finalmente consegui. Debugar (depurar) em um servidor remoto é bastante útil e economiza bastante tempo. No meu caso, tenho uma lib (jar) que é importada no projeto, e a única forma de debugar ela com o projeto rodando, foi utilizando o debug remoto (mesmo estando no mesmo servidor).

É bastante interessante utilizar um Tomcat que foi instalado separadamente, e não o que foi instalado com o NetBeans. No meu caso, não instalei do repositório (apt, yum etc.), mas baixei o pacote compactado no site e extraí na pasta /opt/tomcat6.

O procedimento foi testado no Linux Mint Debian Edition (LMDE), mas muito provavelmente funcionará em outras distribuições, especialmente Debian e Ubuntu. A versão do NetBeans é a 7.1.1 e o Tomcat 6.0.35.

Vá no Terminal e digite o seguinte comando

sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start

Lembre-se de substituir pelos diretórios corretos para o seu caso.

Se a mensagem "INFO: Server startup in X ms" apareceu, quer dizer que até aí deu tudo certo.

Depois é só ir no NetBeans para anexar o depurador. Acesse o menu "Depurar" (em inglês deve ser "Debug") e depois "Anexar Depurador" (em inglês deve estar como "Attach Debugger").

Coloque a porta 7001 e o host deve ser a máquina onde está o tomcat (o IP ou o nome). E pronto. Agora é só abrir sua aplicação e colocar os pontos de interrupção onde você quizer!

Informação adicionada em 26/12/2012:

Graças à colaboração (através dos comentários) de Afonso, vou mostrar uma forma bem mais simples (e que resolverá seu problema caso não esteja conseguindo debugar)

Ao invés de chamar o tomcat através da linha abaixo:

sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start

Simplesmente adicione ao catalina.sh, logo após os comentários (linhas que começam com #), a linha abaixo:

CATALINA_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=7001,server=y,suspend=n”

E reinicie seu Tomcat. O resto dos passos você pode fazer da mesma forma, e assim você poderá depurar/debugar suas classes remotamente!

Fonte: http://ahm507.blogspot.com.br/2006/12/netbeans-remote-debugging.html


Como criar listas sequenciais no PostgreSQL com a função generate_series

Essa é uma dica bem especifica, mas que provavelmente vai ser útil em algum momento na vida de um programador e/ou DBA.

Como criar uma lista sequencial a partir de dados que não existem em uma tabela? Por exemplo: eu quero criar um select que retorne uma lista de 1 a 100 (cada número em uma linha). Como fazer isso? Veja aqui o exemplo:

select generate_series(1,100) as sequencia

Acho que não precisa nem explicar né? O primeiro parâmetro do generate_series é o início da lista, e o segundo o é o fim da lista.

Quer outro exemplo? Imagine que seu gerente pediu pra totalizar as vendas diárias do mes de abril de 2012, ou seja, trazer uma lista com quanto vendeu em cada dia. Mas tem um problema: no dia 3 não vendeu nada. Como você vai exibir um total de um dado que não existe? O generate_series vai te ajudar! Veja o exemplo:

select generate_series(0,29) + date '2012-04-01' as data

O select acima vai trazer uma lista com todos os dias de Abril de 2012. E eu não precisei de tabela nenhuma pra isso.

Saiba mais aqui: http://blog.redfin.com/devblog/2008/05/fun_with_generate_series.html


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress