terça-feira, 29 de março de 2016

Analisando o uso da memória ram com o free

Um dos motivos para a lentidão de um computador é o elevado uso de memória RAM, o que faz com que o sistema operacional use memória virtual (swap). A memória virtual é, na verdade, um arquivo em disco ou uma partição especialmente formatada para isso. Como o disco é, em média, mil vezes mais lento do que a memória RAM, quanto mais memória virtual for usada mais lento o micro fica.


Um dos comandos mais usado em ambiente Linux para verificar o uso da memória ram é o free.

$ free
                               total           used            free               shared    buffers     cached
Mem:                      8226632    7763568     463064          0             265932    4523028
-/+ buffers/cache:   2974608    5252024
Swap:                     0                0                 0

Você pode usar as opções -k (para mostrar os dados em kbytes), -m (megabytes), -g (gigabytes) ou -h (para mostrar os valores na forma "humana"). 

$ free -h
                                  total       used       free     shared    buffers     cached
Mem:                         7,8G      7,4G       434M  0B           259M       4,3G
-/+ buffers/cache:      2,8G      5,0G

Swap:                        0B         0B         0B

Reparem que eu tenho somente 434 Mb disponível. Mas 4,3 Gb estão sendo usados para cache e 259 Mb para buffer. Essas memórias podem ser liberadas caso o sistema precise. Portanto, na prática eu ainda tenho 434 Mb + 259 Mb + 4,3 Gb de memória RAM livre, ou seja, 5,1 Gb. Reparem que meu sistema nem tem memória swap configurada.


Você pode ir analisando o uso da memória a medida que uma aplicação abre. No exemplo abaixo, o parâmetros "-s 5" faz com que o free rode a cada segundo, enquanto que o "-c 5" faz o free parar depois de 5 amostras.

$ free -s 5 -c 5 -m
                                  total       used       free     shared    buffers     cached
Mem:                         8033      7602      430      0             260          4433
-/+ buffers/cache:      2909      5124
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7607      426      0             260          4436
-/+ buffers/cache:      2910      5123
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7624      409      0             260          4453
-/+ buffers/cache:      2910      5122
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033     7614       419      0             260          4443
-/+ buffers/cache:      2911     5122
Swap:                        0           0             0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7612      421      0             260          4441
-/+ buffers/cache:      2911      5122
Swap:                        0            0            0

* Artigo publicado em 07/03/2014. Revisto e corrigido.

quinta-feira, 24 de março de 2016

Gerência de processos com top

Top é um programa de gerenciamento de processos mais usado no Linux. Com ele você pode ver quais processos estão rodando, quais estão consumindo mais memória e mais processamento, pode matar um processos, enfim. 

Na sua execução mais simples para chamá-lo pela linha de comandos.

$ top


Podemos notar que temos 234 processos rodando, sendo 233 em estado de sleeping. Podemos classificar a relação pelos campos %MEM precionando a tecla "M", por %CPU usando "P", etc. Tecle "?" para ter uma relação da teclas de atalho, ou use as setas "<" e ">" para ordenar pelo próximo campo. Você também pode congelar, matar e reiniciar um processo usando a tecla "K". Neste caso o top vai perguntar qual sinal você quer enviar. Por padrão será o 15 (Fechar).


É possível também filtrar o top por vários campos. No exemplo abaixo eu listo somente os processos do usuário ricardoolonca.

# top -u ricardoolonca


Ainda é possível dizer de quanto em quanto tempo a tela será atualizada e quantas ocorrências você quer mostrar. 

Conhecer o top é essencial para quem administra um sistema Linux.

quarta-feira, 23 de março de 2016

Curso Administração de Redes com Linux


Caros, 


vou ministrar um workshop baseado no meu livro na editora Novatec. Quem quiser conhecer mais sobre os fundamentos de rede e como trabalhar com rede no Linux essa é uma grande oportunidade.


Data: 14 e 15 de Maio (Sábado e domingo)

Local: Novatec (Av. Cruzeiro do Sul 2463)

Horário: 9h às 18h

Carga horária: 16 horas

Valores do investimento:

Até 04/05: R$ 550,00

Após 04/05: R$ 600,00

Material de apoio: Livro Administração de redes Linux


Sobre o curso
Esse workshop pretende mostrar os conceitos de rede, configurações e como fazer análises de desempenho e de problemas envolvendo redes usando o sistema operacional GNU/Linux. A aula será desenvolvida em forma de palestra e estudo dirigido, abordando-se a teoria e a prática. O Livro Administração de Redes com Linux servirá como guia de consulta rápida para a solução dos exercícios propostos. Aliando a parte teórica e prática dos fundamentos da rede TCP/IP usando o sistema operacional Linux. Após esse workshop, o aluno estará apto a administrar um ambiente de rede usando o Linux.
O workshop será ministrado com aulas expositivas presenciais. Cada aluno deverá ter a disposição um equipamento rodando algum software de virtualização (VirtualBox, VMWare, Hyper V, etc).
A quem se destina este curso?
Estudantes da área de rede, técnicos e analistas que possuem interesse nos fundamentos de rede em sistema operacional Linux.
Pré-requisitos
  • Conhecimentos em informática
  • Familiaridade com ambiente texto (linha de comandos)
Importante: O aluno deverá trazer seu próprio notebook e carregador.
Conteúdo do curso
1.Instalação do Linux
Configuração da interface de rede
Estatísticas da rede
2.O que é um protocolo?
As sete camadas do modelo OSI
As camadas do TCP/IP
3.Camada de rede – Como ela funciona
Diferenças entre Hub e Switch
Monitorando problemas de rede com Arpwatch
Configurando uma bridge
Duas placas de rede trabalhando juntas
4.Camada de Internet – Por que usar endereços IP?
Problemas do IPv4
Endereços privados
Máscara de sub-rede
Dificuldades para calcular sub-redes? Use IPCalc
Endereços de rede e de broadcast
Configurando a rede no Linux
Testando a conexão com ping
O básico do ping
Parâmetros úteis do comando ping
Além do ping com Fping
1000 pings por segundo com Hping3
Ip virtual
Alta disponibilidade com ucarp
Roteamento
5.Resolução de nomes
Funcionamento do DNS
Comandos úteis para a resolução de nomes
Nomes Netbios X nomes DNS
Servidor DNS
6.DHCP e seu funcionamento
Introdução ao DHCP
Funcionamento do DHCP
Instalação e configuração básica
Testes e análises
Reservando IP
Dhcrelay
7.Camada de Transporte
Conceitos
Pesquisando portas locais com netstat
Pesquisando conexões locais com ss
Pesquisando portas remotas com Nmap
Um pouco mais de Nmap
Como testar a conexão a um serviço?
Medindo a taxa de transferência com iperf
8.Firewall Iptables
Funcionamento de um firewall
Stateless x Statefull
Instalando o iptables
Liberando acessos
Especificando IP de origem e destino
Especificando o tipo de protocolo
Trabalhando com a chain FORWARD
Especificando as interfaces nas regras de firewall
Nat (Network Address Translator)
Salvando e restaurando as regras
Mais informações sobre o Iptables
9.Monitorando o uso do link
Iptraf
Darkstat
Ntop
10.Bisbilhotando a rede
Tcpdump
Wireshark
Urlsnarf
Descobrindo senhas com Tcpdump e Wireshark
Descobrindo senhas com Dsniff
11.Camada de Aplicação – Gateway
Squid
Dansguardian: Filtro de conteúdo Web dinâmico
12.Segurança
Nessus
13.Sistemas de arquivos com deduplicação
14.Sistema de arquivos distribuído
Benefícios
  • Coffee breaks
  • Internet wireless
  • Material didático (livro Administração de Redes com Linux)
  • Arquivos de códigos, imagens, scripts e solução dos exercícios
  • Certificado impresso
Mais informações no endereço abaixo.




terça-feira, 15 de março de 2016

Como saber quais programa mais utilizam o disco?

Um dos ítens que deixam o computador lento é o uso do disco, tanto escrita como leitura. Quanto mais o disco for usado mais lento ele será. Por isso que quanto mais memória virtual for usada mais lento o computador será, pois a memória virtual utiliza o disco. Mas como saber quais são os processos que mais estão usando o disco neste momento? O programa iotop foi feito para responder a essa pergunta. Ele mostra de uma forma simples quais os processos que mais estão escrevendo no disco ou lendo dados dele.

Primeiramente é necessário instalá-lo.

# apt-get install iotop

Depois é só chamá-lo pela linha de comandos.

# iotop



No print de tela acima vemos que o sistema está com uma média de 1,5Mb/s tanto de escrita quanto de leitura, um valor baixo para um servidor proxy. Reparem que o maior utilizador é o Squid.


Há algumas opções que podem ser passadas na linha de comandos como -d (de quanto em quantos segundos a tela será atualizada), -p (qual processo queremos analisar), -u (qual usuário), etc. Por exemplo, se quisermos saber os dados do usuário "proxy" com uma atualização de tela a cada 5 segundo devemos digitar:

# iotop -d 5 -u proxy

segunda-feira, 14 de março de 2016

Adeus ao email do iG

16 anos. Esse foi o tempo de uso do meu e-mail do iG. 



No ano 2000, depois do fechamento do Basemail (um serviço de e-mail só com webmail) fiz minha conta no iG. Um site revolucionário que oferecia acesso gratuíto a internet. Ainda lembro do número: 3355-1000. Isso se não quisesse usar o discador iG. Sim, discador! O acesso era via modem, com fantásticos 33kbps. Banda larga ainda não existia. Fiz minha conta de e-mail, que na época oferecia algo em torno de 25 Mb, mas quase ninguém usava e-mail ainda. Ainda não tinha Facebook, nem Orkut, Skype, Youtube. As páginas eram estáticas. Então eu o usava mais para me cadastrar em sites de notícias e mala direta. Alguns ainda existem.

Pois bem, alguns anos depois surge o Gmail com fantásticos 1Gb de espaço, fora os outros serviços que foram surgindo aos poucos. Criei uma conta, mas mantive o iG por causa dos poucos contatos que tinha e dos vários serviços de notícias. E agora, 16 anos depois, o iG vai passar a cobrar pelo serviço. Mas quem vai querer pagar pelo e-mail do iG quando existe Gmail?  Uma pena! Já migrei meus serviços mais importantes para minha conta do Gmail. E os spans... bem, podem ficar no iG, mesmo. 

É o fim de uma era!

Boa sorte ao iG!

sexta-feira, 11 de março de 2016

Listando as redes wireless pela linha de comando

É possível listar as rede wireless disponíveis pela linha de comandos do Linux. A primeira coisa a fazer é instalar o pacote wireless-tools.

# apt-get install wireless-tools

Após suba a interface de rede wireless, geralmente a wlan0.

# ifconfig wlan0 up

Agora rode o comando que vai listar todas as redes sem fio detectadas, bem como suas configurações de criptografia, canal, ESSID, qualidade de sinal, etc.

# iwlist scan
lo        Interface doesn't support scanning.

eth0      Interface doesn't support scanning.

wlan0     Scan completed :
          Cell 01 - Address: F0:7F:06:C4:45:50
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=34/70  Signal level=-76 dBm
                    Encryption key:off
                    ESSID:"Visitantes"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                              11 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=000000010e227721
                    Extra: Last beacon: 1064ms ago
                    IE: Unknown: 000E4650412D5669736974616E746573
                    IE: Unknown: 010882848B0C12961824
                    IE: Unknown: 030101
                    IE: Unknown: 0706425220010B1E
                    IE: Unknown: 0B050F00908D5B
                    IE: Unknown: 2A0100
                    IE: Unknown: 2D1AAC111BFFFF000000000000000000000000000000000000000000
                    IE: Unknown: 32043048606C
                    IE: Unknown: 3D1601000700000000000000000000000000000000000000
                    IE: Unknown: 7F06001000000040
                    IE: Unknown: 9606004096001600
                    IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
                    IE: Unknown: DD06004096010104
                    IE: Unknown: DD050040960305
                    IE: Unknown: DD050040960B09
                    IE: Unknown: DD050040961400
          Cell 02 - Address: F0:7F:06:C4:45:51
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=29/70  Signal level=-81 dBm
                    Encryption key:off
                    ESSID:"CORP"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                              11 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=000000010e2272da
                    Extra: Last beacon: 1016ms ago
                    IE: Unknown: 0003465041
                    IE: Unknown: 010882848B0C12961824
                    IE: Unknown: 030101
                    IE: Unknown: 0706425220010B1E
                    IE: Unknown: 0B050F00908D5B
                    IE: Unknown: 2A0100
                    IE: Unknown: 2D1AAC111BFFFF000000000000000000000000000000000000000000
                    IE: Unknown: 32043048606C
                    IE: Unknown: 3D1601000700000000000000000000000000000000000000
                    IE: Unknown: 7F06001000000040
                    IE: Unknown: 9606004096001600
                    IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
                    IE: Unknown: DD06004096010104
                    IE: Unknown: DD050040960305
                    IE: Unknown: DD050040960B09
                    IE: Unknown: DD050040961400
          Cell 03 - Address: B0:48:7A:C6:96:C2
                    Channel:4
                    Frequency:2.427 GHz (Channel 4)
                    Quality=60/70  Signal level=-50 dBm
                    Encryption key:on
                    ESSID:"AP01"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              9 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=00000018886b9d80
                    Extra: Last beacon: 752ms ago
                    IE: Unknown: 00084650412D41503031
                    IE: Unknown: 010882848B960C121824
                    IE: Unknown: 030104
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: 2A0100
                    IE: Unknown: 32043048606C
                    IE: Unknown: DD180050F2020101860003A4000027A4000042435E0062322F00
                    IE: Unknown: DD1E00904C334E111BFF00000000000000000000000000000000000000000000
                    IE: Unknown: 2D1A4E111BFF00000000000000000000000000000000000000000000
                    IE: Unknown: DD1A00904C34040D0A00000000000000000000000000000000000000
                    IE: Unknown: 3D16040D0A00000000000000000000000000000000000000
                    IE: Unknown: DD0900037F01010000FF7F
                    IE: Unknown: DD0A00037F04010000004000
                    IE: Unknown: DD870050F204104A0001101044000102103B0001031047001000000000000010000000B0487AC696C21021000754502D4C494E4B10230009544C2D57523734304E10240007312E302F322E3010420003312E301054000800060050F20400011011001B526F746561646F7220576972656C65737320544C2D57523734304E100800020086103C000101

sit0      Interface doesn't support scanning.

Como podemos ver, as interfaces lo, eth0 e sit0 não são suportadas pois não são interfaces de rede sem fio.

A interface wlan0 encontrou 3 redes sem fio (linha ESSID): Visitantes, CORP e AP01. Esse comando também mostraria as redes ocultas, que não possuem ESSID. Podemos ver também o canal (Channel) em que cada rede está trabalhando (as duas primeiras usam o canal 1 enquando a última usa o canal 4) , a qualidade do sinal (Quality) mostrando que provavelmente o ponto de acesso mais próximo de mim é o AP01.  Quanto maior o valor melhor a qualidade do sinal. O comando ainda mostra informações sobre o endereço físico dos access points, velocidades permitidas e tipos de criptografia suportados, entre outros.

Apesar de existirem várias ferramentas gráficas para fazer essa pesquisa, inclusive para smartphone, conhecimento é sempre bemvindo.