Você está na página 1de 43

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

Captulo 39. Atualizando (upgrade) o kernel


O kernel do Red Hat Enterprise Linux especialmente desenvolvido pela equipe do kernel da Red Hat para garantir sua integridade e compatibilidade aos componentes de hardware suportados. Antes da Red Hat lanar um kernel, este passa primeiro por uma srie de testes de qualidade rigorosos. Os kernels do Red Hat Enterprise Linux so empacotados no formato RPM para que sejam fceis de atualizar e verificar. Por exemplo: quando o pacote RPM kernel, distribudo pela Red Hat, Inc., instalado, uma imagem initrd criada. Consequentemente, no necessrio usar o comando mkinitrd aps instalar um kernel diferente. Tambm modifica o arquivo de configurao do gestor de incio para incluir o novo kernel. Ateno O desenvolvimento de um kernel personalizado no suportado pela Equipe de Suporte Instalao da Red Hat. Para mais informaes sobre o desenvolvimento de um kernel personalizado a partir do cdigo fonte, conslute o Apndice A.

39.1. Viso Geral dos Pacotes do Kernel


O Red Hat Enterprise Linux contm os seguintes pacotes do kernel (alguns talvez no se apliquem arquitetura de sua mquina):
kernel contm o kernel e as seguintes funcionalidades-chave: o Suporte ao monoprocessador para sistemas x86 e Athlon (pode rodar

em um sistema multi-processador, mas apenas um processdor utilizado) o Suporte multi-processador para todas as outras arquiteturas o Em sistemas x86, somente os primeiros 4 GB de RAM so usados; use o pacote kernel-hugemem para sistemas x86 com mais de 4 GB de RAM. kernel-hugemem (somente para sistemas i686) Alm das opes habilitadas para o pacote kernel. As principais opes de configurao so: o Suporte para mais de 4 GB de RAM (at 16 GB para sistemas x86) o Extenso de Endereo Fsico (PAE - Physical Address Extension), ou paging de 3 nveis em processadores x86 que suportam PAE o Suporte para processadores mltiplos o 4GB/4GB dividido 4GB de espao para o endereo virtual do kernel e quase 4GB para cada processo de usurio em sistemas x86 kernel-BOOT usado somente durante a instalao. kernel-pcmcia-cs contm suporte para placas PCMCIA.

contm o kernel para sistemas com multi-processadores. Veja a seguir as principais caractersticas: o Suporte a multi-processadores o Suporte para mais de 4 GB de RAM (at 64 GB para sistemas x86) o Extenso de Endereo Fsico (PAE - Physical Address Extension), ou paging de 3 nveis em processadores x86 que suportam PAE kernel-source Contm os arquivos do cdigo-fonte para o kernel do Linux kernel-utils Contm utilitrios que podem ser usados para controlar o kernel ou hardware do sistema. kernel-unsupported existe am algumas arquiteturas
kernel-smp

Como no possvel o Red Hat Enterprise Linux conter suporte para todos os componentes de hardware existentes, este pacote contm mdulos que no so suportados pela Red Hat, Inc. durante ou depois da instalao. O pacote no instalado durante o processo de instalao; mas deve ser instalado aps a instalao. Os drivers do pacote no-suportado so providos atravs de nossos melhores esforos atualizaes e consertos podem ou no ser incorporados ao longo do tempo.

Anterior Principal Prxima Examinando Arquivos de Acima Preparando para o Upgrade Registro Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 39. Atualizando (upgrade) o kernel Prxima

39.2. Preparando para o Upgrade


Antes de atualizar (upgrade) o kernel, tome algumas precaues. Se o sistema tiver um drive de disquete, o primeiro passo garantir que voc tenha um disquete boot funcionando no caso de algum problema. Se o gestor de incio no est configurado corretamente para iniciar o novo kernel, o sistema no pode ser inicializado no Red Hat Enterprise Linux sem um disquete boot operante. Para criar o disquete boot, autentique-se como root e digite o seguinte em uma janela de comandos:
/sbin/mkbootdisk `uname -r`

Dica Consulte a pgina man do mkbootdisk para mais opes. Reinicialize a mquina com o disquete boot e verifique se este funciona antes de continuar. Provavelmente, o disquete no ser necessrio, mas guarde-o em um lugar seguro por precauo.

Para determinar quais pacotes do kernel so instalados, execute o seguinte comando em uma janela de comandos:
rpm -qa | grep kernel

O output contm alguns dos ou todos os pacotes a seguir, dependendo da arquitetura do sistema (os nmeros da verso e pacotes podem ser diferentes):
kernel-2.4.21-1.1931.2.399.ent kernel-source-2.4.21-1.1931.2.399.ent kernel-utils-2.4.21-1.1931.2.399.ent kernel-pcmcia-cs-3.1.31-13 kernel-smp-2.4.21-1.1931.2.399.ent

A partir do output, determine quais pacotes precisam ser baixados (download) para a atualizao do kernel. Para sistemas com apenas um processador, o nico pacote necessrio o kernel. Consulte a Seo 39.1 para obter descries dos diversos pacotes. No nome do arquivo, cada pacote do kernel contm a arquitetura para a qual o pacote foi criado. O formato kernel-<variante>-<verso>.<arquitetura>.rpm, onde a <variante> smp, utils, etc. A <arquitetura> uma das seguintes: 1. 2. 3. 4. 5. 6. 7.
x86_64 para a arquitetura AMD64. ia64 para a arquitetura Intel Itanium. ppc64pseries para a arquitetura IBM eServer pSeries. ppc64iseries para a arquitetura IBM eServer iSeries. s390 para a arquitetura IBM S/390. s390x para a arquitetura IBM eServer zSeries.

Variante da x86: Os kernels da x86 so otimizados para verses diferentes da x86. As opes so as seguintes: o athlon para sistemas AMD Athlon e AMD Duron o i686 para sistemas Intel Pentium II, Intel Pentium III e Intel Pentium 4

Anterior Principal Prxima Atualizando (upgrade) o Acima Baixando (download) o kernel Kernel Atualizado Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 39. Atualizando (upgrade) o kernel Prxima

39.3. Baixando (download) o Kernel Atualizado


H diversas maneiras de determinar se h um kernel atualizado disponvel para o sistema.

Errata de Segurana. Veja a localidade seguinte para informaes sobre erratas de segurana, incluindo atualizaes do kernel que consertam questes de segurana.
http://www.redhat.com/apps/support/errata/

Atravs de Atualizaes Quadrimestrais. Consulte a localidade seguinte para mais detalhes:


http://www.redhat.com/apps/support/errata/rhlas_errata_policy.ht ml

Use a Red Hat Network para baixar e instalar os pacotes RPM do kernel. A Red Hat Network pode baixar o kernel mais atualizado, atualizar o kernel no sistema, criar uma imagem de disco RAM inicial se necessrio e configurar o gestor de incio para inicializar o kernel novo. Para mais informaes, consulte http://www.redhat.com/docs/manuals/RHNetwork/.

Se a Red Hat Network for usada para baixar e instalar o kernel atualizado, siga as instrues da Seo 39.5 e da Seo 39.6, mas no especifique que o kernel seja inicializado por default, porque a Red Hat Network altera automaticamente o kernel default para a ltima verso. Para instalar o kernel manualmente, v para a Seo 39.4.

Anterior Principal Prxima Preparando para o Upgrade Acima Executando a Atualizao Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 39. Atualizando (upgrade) o kernel Prxima

39.4. Executando a Atualizao


Aps recuperar todos os pacotes necessrios, hora de atualizar o kernel existente. Em uma janela de comandos, como root, v para o diretrio que contm os pacotes RPM do kernel e siga estes passos. Importante altamente recomendado que o kernel antigo seja guardado, caso ocorra probelmas com o novo. Use o argumento -i com o comando rpm para guardar o kernel antigo. Se a opo -U for usada para atualizar o pacote do kernel, sobrescrever o kernel atualmente instalado. (a verso do kernel pode variar):
rpm -ivh kernel-2.4.21-1.1931.2.399.ent.<arch>.rpm

Se o sistema tem multi-processadores, instale tambm os pacotes kernel-smp (a verso do kernel pode variar):
rpm -ivh kernel-smp-2.4.21-1.1931.2.399.ent.<arch>.rpm

Se o sistema baseado na i686 e contm mais de 4 gigabytes de RAM, instale o pacote kernel-hugemem, tambm criado para a arquitetura i686 (a verso do kernel pode variar):
rpm -ivh kernel-hugemem-2.4.21-1.1931.2.399.ent.i686.rpm

Se os pacotes kernel-source ou kernel-utils devem ser atualizados, as verses antigas provavelmente no so necessrias. Use os seguintes comandos para atualizar estes pacotes (as verses podem variar):
rpm -Uvh kernel-source-2.4.21-1.1931.2.399.ent.<arch>.rpm rpm -Uvh kernel-utils-2.4.21-1.1931.2.399.ent.<arch>.rpm

O prximo passo verificar se a imagem de disco RAM inicial foi criada. Consulte a Seo 39.5 para mais detalhes.

Anterior Principal Prxima Baixando (download) o Acima Verificando a Imagem de Kernel Atualizado Disco RAM Inicial Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 39. Atualizando (upgrade) o kernel Prxima

39.5. Verificando a Imagem de Disco RAM Inicial


Se o sistema usa o sistema de arquivo ext3, um controlador SCSI ou se usa etiquetas para referenciar parties no /etc/fstab, necessrio um disco RAM inicial. O disco RAM inicial permite que um kernel modular tenha acesso aos mdulos dos quais pode precisar para ser inicializado, antes que o kernel tenha acesso ao dispositivo onde os mdulos normalmente residem. Nas arquiteturas Red Hat Enterprise Linux, alm da IBM eServer iSeres, o disco RAM inicial pode ser criado com o comando mkinitrd. No entanto, este passo executado automaticamente se o kernel e seus pacotes associados so instalados ou atualizados atravs dos pacotes RPM distribudos pela Red Hat, Inc.. Consequentemente, no precisa ser executado manualmente. Para verificar se o disco foi criado, use o comando ls -l /boot, para garantir que o arquivo initrd-<verso>.img foi criado (a verso deve coincidir com a verso do kernel recm-instalado). Em sistemas iSeries, o arquivo do disco RAM inicial e o arquivo vmlinux so combinados em um s arquivo, criado com o comando addRamDisk. Este passo

executado automaticamente se o kernel e seus pacotes associados so instalados ou atualizados atravs dos pacotes RPM distribudos pela Red Hat, Inc.. Consequentemente, no precisa ser executado manualmente. Para verificar se o disco foi criado, use o comando ls -l /boot, para garantir que o arquivo /boot/vmlinitrd-<kernel-verso> foi criado (a verso deve coincidir com a verso do kernel recm-instalado). O prximo passo verificar se o gestor de incio foi configurado para incializar o kernel novo. Consulte a Seo 39.6 para detalhes.

Anterior Executando a Atualizao

Principal Acima

Prxima Verificando o Gestor de Incio


Prxima

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 39. Atualizando (upgrade) o kernel

39.6. Verificando o Gestor de Incio


O pacote RPM kernel configura o gestor de incio para inicializar o kernel recminstalado (exceto em sistemas IBM eServer iSeries). No entanto, no configura o gestor de incio para inicializar o novo kernel por default. sempre bom confirmar se o gestor de incio foi configurado corretamente. Este passo crucial. Se o gestor de incio for configurado incorretamente, o sistema no ser inicializado apropriadamante no Red Hat Enterprise Linux. Se isto ocorrer, inicialize o sistema com o disquete boot criado anteriormente e tente configurar o gestor de incio novamente.

39.6.1. Sistemas x86


Os sistemas x86 tm a opo de usar o GRUB ou o LILO como gestor de incio, com uma exceo os sistemas AMD64 no tm a opo de usar o LILO. Para todos os sistemas x86, o GRUB o default.
39.6.1.1. GRUB

Se usar o GRUB como gestor de incio, confirme se o arquivo /boot/grub/grub.conf contm uma seo title com a mesma verso do pacote do kernel recm-instalado (se o kernel-smp ou o kernel-hugemem tambm foi instalado, existir uma seo para este tambm):
# Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0) # kernel /vmlinuz-version ro root=/dev/hda2 # initrd /initrd-version.img #boot=/dev/hda default=1 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Enterprise Linux (2.4.21-1.1931.2.399.ent) root (hd0,0) kernel /vmlinuz-2.4.21-1.1931.2.399.ent ro root=LABEL=/ initrd /initrd-2.4.21-1.1931.2.399.ent.img title Red Hat Enterprise Linux (2.4.20-2.30.ent) root (hd0,0) kernel /vmlinuz-2.4.20-2.30.ent ro root=LABEL=/ initrd /initrd-2.4.20-2.30.ent.img

Se uma partio /boot/ separada foi criada, as localidades do kernel e da imagem initrd so relativas a /boot/. Note que o default no est configurado para o kernel novo. Para configurar o GRUB a inicializar o kernel novo por default, altere o valor da varivel default para o nmero da seo title que contm o kernel novo. A contagem comea pelo 0. Por exemplo: se o kernel novo est na primeira seo title, defina default para 0. Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.
39.6.1.2. LILO

Se o LILO for usado como o gestor de incio, confirme se o arquivo /etc/lilo.conf contm uma seo image com a mesma verso que o pacote do kernel recm-instalado (se o pacote kernel-smp ou o kernel-hugemem foi instalado, existir uma seo para este tambm): Note que o default no est configurado para o kernel novo. Para configurar o LILO a inicializar o kernel novo por default, defina o valor da varivel default para o valor da label na seo image. Execute o comando /sbin/lilo como root para ativar as alteraes. Aps execut-lo, o output ser similar ao seguinte:
Added 2.4.21-1.1931.2.399.ent * Added linux

O * aps 2.4.21-1.1931.2.399.ent significa que o kernel desta seo o kernel default que o LILO inicializar. Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.

39.6.2. Sistemas Itanium


Os sistemas Itanium usam o ELILO como gestor de incio, que usa o /boot/efi/EFI/redhat/elilo.conf como arquivo de configurao. Confirme se este

arquivo contm uma seo image com a mesma verso que o pacote do kernel recminstalado:
prompt timeout=50 default=old image=vmlinuz-2.4.21-1.1931.2.399.ent label=linux initrd=initrd-2.4.21-1.1931.2.399.ent.img read-only append="root=LABEL=/" image=vmlinuz-2.4.20-2.30.ent label=old initrd=initrd-2.4.20-2.30.ent.img read-only append="root=LABEL=/"

Note que o default no est configurado para o kernel novo. Para configurar o ELILO a inicializar o kernel novo por default, altere o valor da varivel default para o valor label da seo image que contm o kernel novo. Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.

39.6.3. Sistemas IBM S/390 e IBM eServer zSeries


Os sistemas IBM S/390 and IBM eServer zSeries usam o z/IPL como gestor de incio, que usa o /etc/zipl.conf como arquivo de configurao. Confirme se este arquivo contm uma seo com a mesma verso que o pacote do kernel recm-instalado:
[defaultboot] default=old target=/boot/ [linux] image=/boot/vmlinuz-2.4.21-1.1931.2.399.ent ramdisk=/boot/initrd-2.4.21-1.1931.2.399.ent.img parameters="root=LABEL=/" [old] image=/boot/vmlinuz-2.4.20-2.30.ent ramdisk=/boot/initrd-2.4.20-2.30.ent.img parameters="root=LABEL=/"

Note que o default no est configurado para o kernel novo. Para configurar o z/IPL a inicializar o kernel novo por default, altere o valor da varivel default para o nome da seo que contm o kernel novo. A primeira linha de cada seo contm o nome entre parnteses. Aps modificar o arquivo de configurao, execute o seguinte comando como root para ativar as alteraes:
/sbin/zipl

Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.

39.6.4. Sistemas IBM eServer iSeries


O arquivo /boot/vmlinitrd-<verso-do-kernel> instalado quando voc atualiza o kernel. Entretanto, voc deve usar o comando dd para configurar o sistema a inicializar o kernel novo: 1. Como root, submeta o comando cat /proc/iSeries/mf/side para determinar o lado default (A, B ou C). 2. Como root, submeta o seguinte comando, onde <verso-do-kernel> a verso do kernel novo e <lado> o lado do comando anterior:
dd if=/boot/vmlinitrd-<kernel-version> of=/proc/iSeries/mf/<side>/vmlinux bs=8k

Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.

39.6.5. Sistemas IBM eServer pSeries


Os sistemas IBM eServer pSeries usam o YABOOT como gestor de incio, que usa o /etc/aboot.conf como arquivo de configurao. Confirme se o arquivo contm uma seo image com a mesma verso que o pacote do kernel recm-instalado:
boot=/dev/sda1 init-message=Welcome to Red Hat Enterprise Linux! Hit <TAB> for boot options partition=2 timeout=30 install=/usr/lib/yaboot/yaboot delay=10 nonvram image=/vmlinux--2.4.20-2.30.ent label=old read-only initrd=/initrd--2.4.20-2.30.ent.img append="root=LABEL=/" image=/vmlinux-2.4.21-1.1931.2.399.ent label=linux read-only initrd=/initrd-2.4.21-1.1931.2.399.ent.img append="root=LABEL=/"

Note que o default no est configurado para o kernel novo. O kernel da primeira imagem inicializado por default. Para alterar o kernel default a inicializar, mova sua estrofe de imagem para que seja a primeira listada ou adicione a diretiva default e defina-a para a label da estrofe da imagem que contm o kernel novo.

Comece a testar o kernel novo reinicializando o computador e monitorando as mensagens para garantir que o hardware seja detectado apropriadamente.

Anterior Verificando a Imagem de Disco RAM Inicial

Principal Acima

Prxima Mdulos do Kernel

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

Captulo 40. Mdulos do Kernel


O kernel do Linux tem um design modular. No momento da inicializao, somente um kernel residente mnimo carregado na memria. Depois disso, sempre que um usurio requisitar uma funcionalidade que no est presente no kernel residente, um mdulo do kernel, por vezes referido como um driver, dinamicamente carregado na memria. Durante a instalao, o sistema detecta o hardware. Baseado nesta deteco e nas informaes providas pelo usurio, o programa de instalao decide quais mdulos precisam ser carregados no momento da inicializao. O programa de instalao configura o mecanismo de carregamento dinmico para funcionar transparentemente. Se hardware novo for adicionado aps a instalao e este requer um mdulo do kernel, o sistema deve ser configurado para carregar o mdulo do kernel apropriado para o hardware novo. Quando o sistema inicializado com o hardware novo, o programa Kudzu roda, detecta o hardware novo se for suportado e configura o mdulo para ele. O mdulo tambm pode ser especificado manualmente editando o arquivo de configurao do mdulo, /etc/modules.conf. Nota Os mdulos da placa de vdeo costumavam exibir a interface do Sistema X Window como parte do pacote XFree86 e no do kernel; portanto, este captulo no se aplica a eles. Por exemplo: se um sistema inclui um adaptador de rede SMC EtherPower 10 PCI, o arquivo de configurao do mdulo contm a seguinte linha:
alias eth0 tulip

Se uma segunda placa de rede, idntica primeira, for adicionada ao sistema, adicione a seguinte linha ao /etc/modules.conf:
alias eth1 tulip

Consulte o Guia de Referncia do Red Hat Enterprise Linux para uma lista alfabtica dos mdulos do kernel e hardware suportados pelos mdulos.

40.1. Utilitrios do Mdulo do Kernel


Um grupo de comandos para administrar mdulos do kernel disponibilizado se o pacote modutils est instalado. Use estes comandos ao determinar se um mdulo foi carregado com sucesso ou ao tentar mdulos diferentes para um novo componente de hardware. O comando /sbin/lsmod exibe uma lista dos mdulos carregados no momento. Por exemplo:
Module iptable_filter ip_tables nfs lockd sunrpc soundcore ide-cd cdrom parport_pc lp parport autofs e100 microcode keybdev mousedev hid input usb-uhci usbcore ext3 jbd Size 2412 15864 84632 59536 87452 7044 35836 34144 19204 9188 39072 13692 62148 5184 2976 5656 22308 6208 27468 82752 91464 56336 Used by Not tainted 0 (autoclean) (unused) 1 [iptable_filter] 1 (autoclean) 1 (autoclean) [nfs] 1 (autoclean) [nfs lockd] 0 (autoclean) 0 (autoclean) 0 (autoclean) [ide-cd] 1 (autoclean) 0 (autoclean) 1 (autoclean) [parport_pc lp] 0 (autoclean) (unused) 1 0 (autoclean) 0 (unused) 1 0 (unused) 0 [keybdev mousedev hid] 0 (unused) 1 [hid usb-uhci] 2 2 [ext3]

Para cada linha, a primeira coluna o nome do mdulo; a segunda coluna o tamanho do mdulo e a terceira a contagem de uso. As informaes aps a contagem de uso variam ligeiramente por mdulo. Se (unused) est listado na linha do mdulo, este no est em uso. Se (autoclean) est na linha do mdulo, este pode ser limpo automaticamente pelo comando rmmod -a. Quando este comando executado, quaisquer mdulos marcados com 'autoclean' que no foram usados desde a ltima ao de auto-limpeza, so descarregados. O Red Hat Enterprise Linux no executa a ao de auto-limpeza por default. Se h um nome de mdulo listado no fim da linha entre parnteses, este mdulo dependente do mdulo listado na primeira coluna da linha. Por exemplo: na linha
usbcore 82752 1 [hid usb-uhci]

os mdulos hid e usb-uhci do kernel dependem do mdulo usbcore.

O output do /sbin/lsmod o mesmo que o output da visualizao /proc/modules. Para carregar um mdulo do kernel, use o comando /sbin/modprobe seguido do nome do mdulo do kernel. Por default, modprobe tenta carregar o mdulo dos sub-diretrios /lib/modules/<kernel-version>/kernel/drivers/. H um sub-diretrio para cada tipo de mdulo, como o sub-diretrionet/ para drivers de interface de rede. Alguns mdulos do kernel tm dependncias de mdulo; ou seja, outros mdulos devem ser carregados primeiro para que estes sejam carregados. O comando /sbin/modprobe verifica estas dependncias e as carrega antes de carregar o mdulo especificado. Por exemplo: o comando
/sbin/modprobe hid

carrega quaisquer dependncias de mdulo e ento o mdulo hid. Para exibir todos os comandos na tela, enquanto /sbin/modprobe os executa, use a opo -v. Por exemplo:
/sbin/modprobe -v hid

Aparece um output similar ao seguinte:


/sbin/insmod /lib/modules/2.4.211.1931.2.399.ent/kernel/drivers/usb/hid.o Using /lib/modules/2.4.21-1.1931.2.399.ent/kernel/drivers/usb/hid.o Symbol version prefix 'smp_'

O comando /sbin/insmod tambm serve para carregar oo mdulo do kernel; no entanto, no resolve as dependncias. Sendo assim, recomendado usar o comando /sbin/modprobe. Para descarregar os mdulos do kernel, use o comando /sbin/rmmod seguido do nome do mdulo do kernel. O utilitrio rmmod descarrega somente os mdulos que no esto em uso e no so uma dependncia de outros mdulos em uso. Por exemplo: o comando
/sbin/rmmod hid

descarrega o mdulo hid do kernel. Um outro utilitrio til para mdulos do kernel o modinfo. Use o comando /sbin/modinfo para exibir informaes sobre um mdulo do kernel. A sintaxe geral l:
/sbin/modinfo [options] <module>

As opes incluem -d para exibir uma breve descrio do mdulo e -p para listar os parmetros suportados pelo mdulo. Para obter uma lista completa das opes, consulte a pgina man do modinfo (man modinfo).
Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 40. Mdulos do Kernel Prxima

40.2. Recursos Adicionais


Para mais informaes sobre os mdulos do kernel e seus utilitrios, consulte os seguintes recursos:

40.2.1. Documentao Instalada


Pgina man do lsmod descrio e explicao de seu output. Pgina man do insmod descrio e listagem das opes de linha do comando. Pgina man do modprobe descrio e listagem das opes de linha do comando. Pgina man do rmmod descrio e listagem das opes de linha do comando. Pgina man do modinfo descrio e listagem das opes de linha do comando. /usr/src/linux-2.4/Documentation/modules.txt como compilar e usar os mdulos do kernel. Este arquivo parte do pacote kernel-source.

40.2.2. Sites teis

http://www.redhat.com/mirrors/LDP/HOWTO/Module-HOWTO/index.html Linux Loadable Kernel Module HOWTO do Projeto de Documentao do Linux.

Anterior Mdulos do Kernel

Principal Acima

Prxima Configurao do Agente de Transporte de Correio (MTA Mail Transport Agent)

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

Captulo 41. Configurao do Agente de Transporte de Correio (MTA - Mail Transport Agent)
Um Agente de Transporte de Correio (MTA) essencial para o envio de e-mail. Um Agente de Usurio de Correio (MUA) como o Evolution, Mozilla Mail e o Mutt, usado para ler e compr e-mails. Quando um usurio envia um e-mail de um MUA, as mensagens so passadas ao MTA, que envia a mensagem para uma srie de MTAs at que chegue ao seu destino. Mesmo que um usurio no planeje enviar e-mails de seu sistema, algumas tarefas automatizadas ou programas do sistema talvez usem o comando /bin/mail para enviar e-mail contendo mensagens de registro ao usurio root do sistema local. O Red Hat Enterprise Linux 3 oferece dois MTAs: Sendmail e Postfix. Se ambos esto instalados, o sendmail o MTA default. A Comutador do Agente de Transporte de Correio permite a seleo do sendmail ou do postfix como o MTA default do sistema. O pacote RPM redhat-switch-mail deve estar instalado para usar a verso texto do programa Comutador do Agente de Transporte de Correio. Se voc quer usar a verso grfica, o pacote redhat-switch-mail-gnome tambm deve estar instalado. >>>>>> 1.1.2.4 Para mais informaes sobre a instalao dos pacotes RPM, consulte a Parte III. Para iniciar a Comutador do Agente de Transporte de Correio, selecione Boto do Menu Principal (no Painel) => Ferramentas do Sistema => Mais Ferramentas do Sistema => Comutador do Agente de Transporte de Correio, ou digite o comando redhat-switch-mail em uma janela de comandos (ex.: em um terminal GNOME ou XTerm). O programa detecta automaticamente se o Sistema X Window est rodando. Se estiver, o programa inicia em modo grfico, conforme mostra a Figura 41-1. Se o X no for detectado, inicia em modo texto. Para forar a Comutador do Agente de Transporte de Correio a rodar no modo texto, use o comando redhat-switch-mail-nox.

Figura 41-1. Comutador do Agente de Transporte de Correio Se voc selecionar OK para alterar o MTA, o daemon de correio selecionado habilitado para iniciar no momento da inicializao, e o daemon de correio desselecionado desabilitado, pois assim este no inicia no momento da inicializao da mquina. O daemon de correio selecionado iniciado e o outro parado, portanto as alteraes tm efeito imediato. Para mais informaes sobre protocolos de e-mail e MTAs, consulte o Guia de Referncia do Red Hat Enterprise Linux;.

Anterior Principal Prxima Recursos Adicionais Acima Monitoramento do Sistema Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

VI. Monitoramento do Sistema


Os administradores de sistema tambm monitoram o desempenho do sistema. O Red Hat Enterprise Linux contm ferramentas para auxiliar os administradores nestas tarefas. ndice 42. Coletando Informaes do Sistema 43. OProfile Anterior Configurao do Agente de Transporte de Correio (MTA - Mail Transport Agent) Principal Prxima Coletando Informaes do Sistema

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

Captulo 42. Coletando Informaes do Sistema


Antes de aprender como configurar seu sistema, voc deve aprender a coletar informaes essenciais do sistema. Por exemplo: voc deve saber como encontrar a quantidade de memria livre, a quantidade de espao disponvel no disco rgido, como o disco rgido foi particionado e quais processos esto sendo executados. Este captulo aborda como recuperar este tipo de informao de seu sistema Red Hat Enterprise Linux usando alguns comandos e programas simples.

42.1. Processos do Sistema


O comando ps ax exibe uma lista dos processos correntes do sistema, incluindo aqueles que pertencem a outros usurios. Para exibir os donos dos processos junto a estes use o comando ps aux. Esta uma lista esttica; em outras palavras, no um retrato do que est rodando quando o comando foi submetido. Se voc quer uma lista dos processos correntes atualizada constantemente, use o top conforme descrito abaixo. O output do ps pode ser longo. Para evitar a rolagem pela pgina, voc pode inserir um pipe com less:
ps aux | less

Voc pode usar o comando ps combinado com o grep para checar se um processo est rodando. Por exemplo: para determinar se a Emacs est rodando, use o seguinte comando:
ps ax | grep emacs

O comando top exibe os processos correntes e tambm informaes importantes sobre eles, inclusive sua memria e uso da CPU. A lista est em tempo real e interativa. Veja abaixo um exemplo do output do comando top:
19:11:04 up 7:25, 9 users, load average: 0.00, 0.05, 0.12 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped CPU states: cpu user nice system irq softirq iowait idle total 6.6% 0.0% 0.0% 0.0% 0.0% 0.0% 192.8% cpu00 6.7% 0.0% 0.1% 0.1% 0.0% 0.0% 92.8% cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0% Mem: 1028556k av, 241972k used, 786584k free, 0k shrd,

37712k buff 162316k active, Swap: 1020116k av, 99340k cached PID USER COMMAND 1899 root 6380 root 1 root 2 root migration/0 3 root migration/1 4 root keventd 5 root ksoftirqd/0 6 root ksoftirqd/1 9 root bdflush 7 root kswapd 8 root kscand 10 root kupdated 11 root mdrecoveryd PRI 15 15 15 RT RT 15 34 34 25 15 15 15 25 NI

18076k inactive 0k used, 1020116k free SIZE RSS SHARE STAT %CPU %MEM 4172 884 432 0 S R S SW 6.5 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 TIME CPU 0 X 0 top 1 init 0 1 0 0 1 0 1 1 1 0

0 17728 12M 0 1144 1144 0 488 488 0 0 0 0 0 19 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1.2 111:20 0.1 0:00 0.0 0:05 0.0 0:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:01 0:00

0 SW 0 SW 0 SWN 0 SWN 0 SW 0 SW 0 SW 0 SW 0 SW

Para sair do top, pressione a tecla [q]. Veja a seguir comandos interativos teis que voc pode usar com o top: Comando [Space] [h] [k] Descrio Atualizar a tela imediatamente Exibir uma tela de ajuda Matar (kill) um processo. Voc dever indicar o ID do processo e o sinal a ser enviado para ele. Alterar o nmero de processos exibidos. Voc dever indicar o nmero. Ordenar por usurio. Ordenar por uso da memria. Ordenar por uso da CPU.

[n] [u] [M] [P] Tabela 42-1. Comandos top interativos Dica

Aplicaes como o Mozilla e o Nautilus so thread-aware so criados threads mltiplos para lidar com usurios mltiplos ou pedidos mltiplos, e cada thread recebe um ID de processo. Por default, o ps e o top exibem somente o thread principal (inicial). Para visualizar todos os threads, use o comando ps -m ou pressione [Shift]-[H] no top. Se voc prefere uma interface grfica do top, pode usar a GNOME System Monitor. Para inici-la pela rea de trabalho, selecione Boto do Menu Principal (no Painel) => Ferramentas do Sistema => Monitor do Sistema ou digite gnome-system-monitor em uma janela de comandos no Sistema X Window. Ento, selecione a aba Listagem de Processos. O Monitor do Sistema GNOME permite que voc procure processos na lista de processos correntes e tambm visualize todos os processos, os seu processos ou os processos ativos. Para saber mais sobre um processo, selecione-o e clique no boto Mais Informaes. Os detalhes do processo sero exibidos no rodap da janela. Para parar um processo, selecione-o e clique em Finalizar Processo. Esta funo til para processos interrompidos em respota ao input do usurio. Para ordenar pelas informaes de uma coluna especfica, clique no nome da coluna. A coluna que contm as informaes atravs das quais a lista ordenada, aparece em cinza escuro. Por default, o Monitor do Sistema GNOME no exibe threads. Para alterar estas preferncias, selecione Editar => Preferncias, clique na aba Listagem de Processos e selecione Exibir Threads. As preferncias tambm permitem configurar o intervalo de atualizao, o tipo de informaes exibidas por default sobre cada processo e as cores dos grficos de monitoramento do sistema.

Figura 42-1. GNOME System Monitor

Anterior Principal Prxima Monitoramento do Sistema Acima Uso da Memria Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 42. Coletando Informaes do Sistema Prxima

42.2. Uso da Memria


O comando free exibe a quantidade total de memria fsica e espao swap do sistema, assim como a quantidade de memria usada, disponvel, compartilhada, nos buffers do kernel e memria cacheada.
total cached Mem: 256812 81848 -/+ buffers/cache: Swap: 265032 used 240668 108300 780 free 16144 148512 264252 shared 105176 buffers 50520

O comando command free -m exibe as mesmas informaes em megabytes, que tm uma leitura mais fcil.
total cached Mem: 250 79 -/+ buffers/cache: Swap: 258 used 235 105 0 free 15 145 258 shared 102 buffers 49

Se preferir uma interface grfica do free, voc pode usar o Monitor do Sistema GNOME. Para inici-lo pela rea de trabalho, v para o Boto do Menu Principal (no Painel) => Ferramentas do Sistema => Monitor do Sistema ou digite gnomesystem-monitor em uma janela de comandos no Sistema X Window. E ento feche a aba Monitor do Sistema.

Figura 42-2. GNOME System Monitor

Anterior Principal Prxima Coletando Informaes do Acima Sistemas de Arquivo Sistema Red Hat Enterprise Linux 3: Guia de Administrao do Sistema

Anterior

Captulo 42. Coletando Informaes do Sistema

Prxima

42.3. Sistemas de Arquivo


O comando df reporta o uso do espao em disco do sistema. Se voc digitar o comando df em uma janela de comandos, o output se parecer com o seguinte:
Filesystem /dev/hda2 /dev/hda1 /dev/hda3 none 1k-blocks 10325716 15554 20722644 256796 Used Available Use% Mounted on 2902060 6899140 30% / 8656 6095 59% /boot 2664256 17005732 14% /home 0 256796 0% /dev/shm

Por default, este utilitrio mostra o tamanho da partio em blocos de 1 kilobyte, e a quantidade de espao usado e disponvel no disco em kilobytes. Para visualizar as informaes em megabytes e gigabytes, use o comando df -h. O argumento -h pede um formato 'human-readable'. O output se parece com o seguinte:
Filesystem /dev/hda2 /dev/hda1 /dev/hda3 none Size 9.8G 15M 20G 251M Used Avail Use% Mounted on 2.8G 6.5G 30% / 8.5M 5.9M 59% /boot 2.6G 16G 14% /home 0 250M 0% /dev/shm

Na lista de parties, h uma entrada /dev/shm. Esta representa o sistema de arquivo da memria virtual do sistema. O comando du representa o espao estimado em disco sendo usado por arquivos de um diretrio. Se voc digitar du em uma janela de comandos, ver o uso do disco de cada sub-diretrio na lista. O total geral do diretrio corrente e de seus sub-diretrios tambm ser exibido na ltima linha da lista. Se voc no deseja visualizar os totais de todos os sub-diretrios, use o comando du -hs para ver somente o total geral do diretrio em formato legvel. Use o comando du --help para ver mais opes. Para visualizar as parties e uso do espao do disco do sistema em formato grfico, use a aba Monitor do Sistema conforme mostrado na parte inferior da Figura 42-2.

Anterior Principal Prxima Uso da Memria Acima Hardware Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 42. Coletando Informaes do Sistema Prxima

42.4. Hardware
Se voc est tendo problemas ao configurar seu hardware ou deseja somente saber quais componentes de hardware esto presentes no sistema, pode usar a aplicao

Visualizador de Hardware para exibir o hardware que pode ser detectado. Para iniciar o programa pela rea de trabalho, selecione Boto do Menu Principal => Ferramentas do Sistema => Visualizador de Hardware ou digite hwbrowser em uma janela de comandos. Conforme a Figura 42-3, o programa exibe seus dispositivos de CD-ROM, disquetes, discos rgidos e suas parties, dispositivos de rede, dispositivos de apontamento (mouse), dispositivos do sistema e placas de vdeo. Clique no nome da categoria no menu esquerdo e a informao ser exibida.

Figura 42-3. Visualizador de Hardware Voc tambm pode usar o comando lspci para listar todos os dispositivos PCI. Use o comando lspci -v para informaes mais verbalisadas ou lspci -vv para um output bastante verbalisado. Por exemplo: o lspci pode ser usado para determinar o fabricante, modelo e quantidade de memria de uma placa de vdeo do sistema:
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04) \ (prog-if 00 [VGA]) Subsystem: Matrox Graphics, Inc. Millennium G400 Dual Head Max Flags: medium devsel, IRQ 16 Memory at f4000000 (32-bit, prefetchable) [size=32M] Memory at fcffc000 (32-bit, non-prefetchable) [size=16K]

Memory at fc000000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at 80000000 [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Capabilities: [f0] AGP version 2.0

O lspci tambm til para determinar a placa de rede do seu sistema, caso voc no saiba o fabricante ou nmero do modelo.

Anterior Sistemas de Arquivo


Anterior

Principal Acima
Captulo 42. Coletando Informaes do Sistema

Prxima Recursos Adicionais


Prxima

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema

42.5. Recursos Adicionais


Para aprender mais sobre a coleta de informaes do sistema, consulte os seguintes recursos.

42.5.1. Documentao Instalada


Exibe uma lista de opes que podem ser usadas com o ps. Pgina man do top Digite man top para aprender mais sobre o top e suas diversas opes. Pgina man do free digite man free para aprender mais sobre o free e suas diversas opes. Pgina man do df Digite man df para aprender mais sobre o comando df e suas diversas opes. Pgina man do du Digite man du para aprender mais sobre o comando du e suas diversas opes. Pgina man do lspci Digite man lspci para aprender mais sobre o comando lspci e suas diversas opes. Diretrio /proc/ O contedo do diretrio /proc tambm pode ser usado para coletar informaes mais detalhadas do sistema. Consulte o Guia de Referncia do Red Hat Enterprise Linux para informaes adicionais sobre o diretrio /proc/.
ps --help

42.5.2. Livros Relacionados

Introduo Administrao de Sistemas Red Hat Enterprise Linux; Red Hat, Inc. Inclui um captulo sobre o monitoramento de recursos.

Anterior

Principal

Prxima

Hardware

Acima

OProfile

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

Captulo 43. OProfile


OProfile uma ferramenta de monitoramento de desempenho do sistema, com baixa sobrecarga. Utiliza o hardware de monitoramento de desempenho no processador para recuperar informaes sobre o kernel e executveis do sistema. Por exemplo: quando a memria referenciada, o nmero de pedidos do cache L2 e o nmero de interrupes de hardware recebidas. Em um sistema Red Hat Enterprise Linux, o pacote RPM oprofile deve estar instalado para usar esta ferramenta. Muitos processadores incluem hardware de monitoramento do desempenho. Este hardware possibilita detectar quando determinados eventos ocorrem (como quando os dados requisitados no esto no cache). O hardware normalmente toma a forma de um ou mais contadores que so incrementados cada vez que ocorre um evento. Quando o valor do contador "adia," gerada uma interrupo, possibilitando controlar a quantidade de detalhes (e consequentemente de sobrecarga) produzida pelo monitoramento do desempenho. O OProfile usa este hardware (ou um substituto baseado em timer nos casos em que no h hardware de monitoramento de desempenho) para coletar amostras de dados relacionados ao desempenho cada vez que um contador gera uma interrupo. Estas amostras so gravadas periodicamente no disco; posteriormente, os dados contidos nestas amostras podem ento ser usados para gerar relatrios de desempenho dos sistemas e aplicaes. Importante O suporte ao kernel do OProfile no Red Hat Enterprise Linux 3 baseado no cdigo do kernel 2.5 em desenvolvimento. Quando nos referimos documentao do OProfile, as funcionalidades especficas da verso 2.5 se aplicam ao OProfile do Red Hat Enterprise Linux 3, apesar da verso do kernel ser 2.4. Do mesmo modo, as funcionalidades do OProfile especficas do kernel 2.4 no se apicam ao Red Hat Enterprise Linux 3. O OProfile uma ferramenta til, mas mas saiba de algumas limitaes ao utiliz-lo:

Uso de bibliotecas compartilhadas Amostras de cdigo em bibliotecas compartilhadas no so atribudos a uma determinada aplicao a no ser que a opo --separate=library seja usada. As amostras de monitoramento do desempenho so imprecisas Quando o registro do monitoramento de desempenho ativa uma amostra, a resoluo da interrupo no precisa como uma exceo 'divide by zero'. Devido execuo fora de ordem das instrues pelo processador, a amostra pode ser gravada em uma instruo prxima.

no associa amostras apropriadamante para funes em linha o usa um mecanismo de intervalo de endereo simples para determinar em qual funo um endereo se encontra. As amostras de funo em linha no so atribudas funo em linha, mas sim funo na qual a funo em linha estava inserida. OProfile acumula dados de diversas execues (runs) O OProfile um perfilador do sistema e espera que os processos liguem e desliguem diversas vezes. Portanto, as amostras de diversas execues so acumuladas. Use o comando opcontrol --reset para limpar as amostras de execues anteriores. Problemas de desempenho no so limitados CPU O OProfile orientado para encontrar problemas com processos limitados CPU. OProfile no identifica processos adormecidos (asleep) porque estes aguardam bloqueios (locks) ou a ocorrncia de algum outro evento (como o dispositivo I/O finanlizar uma operao).
oprofpp oprofpp

No Red Hat Enterprise Linux, somente os kernels de multi-processador (multiprocessor, SMP) tm o suporte ao OProfile habilitado. Para determinar qual kernel est rodando, invoque o seguinte comando:
uname -r

Se a verso do kernel retornada termina em .entsmp, o kernel do multi-processador est rodando. Caso contrrio, instale-o via Red Hat Network ou pelos CDs da distribuio, mesmo se o sistema no for multi-processador. O kernel multi-processador pode rodar em um sistema de processador simples.

43.1. Viso Geral das Ferramentas


A Tabela 43-1 traz uma viso geral das ferramentas oferecidas com o pacote oprofile. Comando
opcontrol

Decrio Configura quais dados so coletados. Consulte a Seo 43.2 para mais detalhes. Exibe eventos disponveis do processador do sistema junto a uma breve descrio de cada. Mistura diversas amostras do mesmo executvel. Consulte a Seo 43.5.4 para mais detalhes. Oferece uma viso geral de todos os executveis perfilados. Consulte a Seo 43.5.1 para mais detalhes. Cria uma fonte anotada para um executvel se a aplicao foi compilada com smbolos de depurao. Consulte a Seo 43.5.3 para mais detalhes. Roda como um daemon para gravar dados da amostra no disco periodicamente.

op_help op_merge op_time

op_to_source

oprofiled

Comando
oprofpp

Decrio Recupera dados do perfil. Consulte a Seo 43.5.2 para mais detalhes. Converte o arquivo do banco de dados de amostras de um formato diferente para o formato nativo do sistema. Use esta opo somente ao analisar um banco de dados de amostras de uma arquitetura diferente.

op_import

Tabela 43-1. Comandos do OProfile

Anterior Recursos Adicionais


Anterior

Principal Acima
Captulo 43. OProfile

Prxima Configurando o OProfile


Prxima

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema

43.2. Configurando o OProfile


Antes de rodar o OProfile necessrio configur-lo. Voc deve, no mnimo, selecionar monitorar o kernel (ou selecionar no monitorar o kernel). As sees seguintes descrevem como usar o utilitrio opcontrol para configurar o OProfile. Conforme os comandos opcontrol so executados, as opes de configuraes so salvas no arquivo /root/.oprofile/daemonrc.

43.2.1. Especificando o Kernel


Primeiro, configure se o OProfile deve monitorar o kernel. Esta a nica opo de configurao requisitada antes de iniciar o OProfile. Todas as outras so opcionais. Para monitorar o kernel, execute o seguinte comando como root:
opcontrol --vmlinux=/boot/vmlinux-`uname -r`

Para configurar o OProfile para no monitorar o kernel, execute o seguinte comand como root:
opcontrol --no-vmlinux

Este comando tambm carrega o mdulo oprofile do kernel (se j no estiver carregado) e cria o diretrio /dev/oprofile/ se j no existe. Consulte a Seo 43.6 para obter detalhes sobre este diretrio.

Nota

Mesmo se o OProfile est configurado para no perfilar o kernel, o kernel SMP ainda deve rodar para que o mdulo oprofile possa ser carregado a partir dele. Determinar se as amostras devem ser coletadas dentro do kernel, altera somente quais dados so coletados e no como ou onde os dados coletados so armazenados. Para gerar arquivos de amostra diferentes para as aplicaes e bibliotecas do kernel, consulte a Seo 43.2.3.

43.2.2. Determinando os Eventos a Monitorar


A maioria dos processadores contm contadores, que so usados pelo OProfile para monitorar eventos especficos. Conforme observa-se na Tabela 43-2, o nmero de contadores disponveis depende do processador.
Processador
cpu_type

Nmero de Contadores 2 2 2 8 4 4 4 4 4 1 1 1

Pentium Pro Pentium II Pentium III Pentium 4 (no-hyper-threaded) Pentium 4 (hyper-threaded) Athlon AMD64 Itanium Itanium 2 TIMER_INT IBM eServer iSeries IBM eServer pSeries

i386/ppro i386/pii i386/piii i386/p4 i386/p4-ht i386/athlon x86-64/hammer ia64/itanium ia64/itanium2 timer timer timer

Processador

cpu_type

Nmero de Contadores 1 1

IBM eServer S/390 IBM eServer zSeries

timer timer

Tabela 43-2. Processadores e Contadores do OProfile Use a Tabela 43-2 para verificar se o tipo correto de processador foi detectado e para determinar o nmero de eventos que pode ser monitorado simultaneamente. O timer usado como o tipo de processador se o processador no tiver hardware de monioramento de desempenho. Se o timer usado, os eventos no podem ser determinados para nenhum processador porque o hardware no suporta contadores de desempenho de hardware. Ao invs disso, a interrupo do timer usada para o perfilamento. Se o timer no usado como o tipo processador, os eventos monitorados podem ser alterados, e o contador 0 do processador determinado para um evento baseado na hora, por default. Se h mais de um contador no processador, os contadores alm do contador 0 no so determinados para um evento, por default. Os eventos monitorados por default so apresentados na Tabela 43-3.
Processador Evento Default para o Contador 0 CPU_CLK_UNHALTED Decrio

Pentium Pro, Pentium II, Pentium III, Athlon, AMD64 Pentium 4 (HT e noHT) Itanium 2 TIMER_INT

O relgio do processador no desligado (halted)

GLOBAL_POWER_EVENTS

O tempo durante o qual o processador no parado Ciclos da CPU Amostra de cada interrupo do timer

CPU_CYCLES (nenhum)

Tabela 43-3. Eventos Default O nmero de eventos que podem ser monitorados de uma vez determinado pelo nmero de contadores do processador. Entretanto, esta no uma correlao um-praum; em alguns processadores, determinados eventos devem ser mapeados para

contadores especficos. Para determinar o nmero de contadores disponveis, execute o seguinte comando:
cat /dev/oprofile/cpu_type

Os eventos disponveis variam de acordo com o tipo de processador. Para determinar os eventos disponveis para perfilamento, execute o seguinte comando como root (a lista especfica ao tipo de processador do sistema):
op_help

Os eventos de cada contador podem ser configurados atravs da linha de comando ou com uma interface grfica. Se o contador no puder ser configurado para um evento especfico, aparece uma mensagem de erro. Para determinar o evento para cada contador configurvel atravs da linha de comando, use o opcontrol:
opcontrol --ctrlN-event=<event-name>

Substitua N pelo nmero do contador (comeando por 0) e substitua <event-name> pelo nome exato do evento, encontrado no op_help.
43.2.2.1. Taxa de Amostragem

Por default, selecionado um conjunto de eventos baseados na hora. So criadas aproximadamente 2000 amostras por segundo por processador. Se a interrupo do timer for usada, definido um timer igual taxa instantnea (jiffy rate), que no pode ser definido pelo usurio. Se o cpu_type no timer, cada evento pode ter uma taxa de amostragem definida. A taxa de amostragem o nmero de eventos entre cada amostra instantnea. Ao definir o evento para o contador, tambm possvel especificar uma taxa de amostragem:
opcontrol --ctrN-event=<event-name> --ctrN-count=<sample-rate>

Substitua <sample-rate> pelo nmero de eventos a aguardar antes de fazer o 'sampling' novamente. Quanto menor a contagem, mais frequentes as amostras. Para eventos que ocorrem esporadicamente, pode-se precisar de uma contagem menor para capturar as instncias do evento.
Ateno

Seja muito cuidadoso ao determinar as taxas de amostragem. A amostragem muito frequente pode sobrecarregar o sistema, fazendo com que ele parea estar congelado (frozen) ou fazendo com que realmente congele. Red Hat Enterprise Linux 3: Guia de Administrao do Sistema

Anterior

Captulo 43. OProfile

Prxima

43.3. Iniciando e Parando o OProfile


Para comear a monitorar o sistema com o OProfile, execute o seguinte comando como root:
opcontrol --start

Aparece um output similar ao seguinte:


Using log file /var/lib/oprofile/oprofiled.log Daemon started. Profiler running.

A configurao contida no /root/.oprofile/daemonrc usada. O daemon do OProfile, oprofiled, iniciado; ele grava periodicamente os dados da amostra no diretrio /var/lib/oprofile/samples/. O arquivo de registro do daemon est localizado em /var/lib/oprofile/oprofiled.log. Se o OProfile reiniciado com opes de configurao diferentes, os arquivos de amostra da sesso anterior so automaticamente copiados (backed up) no diretrio /var/lib/oprofile/samples/session-N, onde N o nmero da sesso copiada previamente mais 1.
Backing up samples file to directory /var/lib/oprofile/samples//session-1 Using log file /var/lib/oprofile/oprofiled.log Daemon started. Profiler running.

Para parar o perfilador, execute o seguinte comando como root:


opcontrol --shutdown

Anterior Principal Prxima Configurando o OProfile Acima Salvando Dados Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 43. OProfile Prxima

43.4. Salvando Dados


s vezes til salvar amostras numa hora especfica. Por exemplo: quando perfilar um executvel, possvel coletar amostras diferentes baseados em conjuntos de dados de input diferentes. Se o nmero de eventos a ser monitorado excede o nmero de

contadores disponveis no processador, possvel rodar o OProfile diversas vezes para coletar dados, salvando os dados da amostra cada vez em um arquivo diferente. Para salvar o conjunto corrente de arquivos de amostra, execute o seguinte comando, substituindo <name> por um nome descritivo nico para a sesso corrente:
opcontrol --save=<name>

O diretrio /var/lib/oprofile/samples/name/ criado e os arquivos de amostra correntes so copiados neste.

Anterior Iniciando e Parando o OProfile


Anterior

Principal Acima

Prxima Analisando os Dados

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Captulo 43. OProfile Prxima

43.5. Analisando os Dados


Periodicamente, o daemon do OProfile, oprofiled, coleta as amostras e as grava no diretrio /var/lib/oprofile/samples/. Antes de ler, certifique-se de que todos os dados esto salvos neste diretrio, executando seguinte comando como root:
opcontrol --dump

Cada nome de arquivo de amostra baseado no nome do executvel, com uma chave fechando (}) substituindo cada barra (/). O nome do arquivo termina com o jogo da velha (#), seguido pelo nmero do contador deste arquivo de amostra. Por exemplo: o arquivo a seguir inclui os dados de amostra do executvel /sbin/syslogd coletado com o contador 0:
}sbin}syslogd#0

As seguintes ferramentas esto disponveis para perfilar os dados de amostra aps terem sido coletados:
op_time oprofpp op_to_source op_merge

Use estas ferramentas, juntamente aos binrios perfilados, para gerar relatrios que podem ser analisados futuramente.

Ateno

O executvel sendo perfilado deve ser usado com estas ferramentas para analisar os dados. Se este deve mudar aps a coleta dos dados, faa backup do executvel usado para criar as amotras assim como dos arquivos de amostra. As amostars de cada executvel so gravadas em um nico arquivo de amostra. As amostras de cada biblioteca ligada dinamicamente tambm so gravados em um arquivo nico de amostra. Enquanto o OProfile est rodando, se o executvel sendo monitorado alterar e existir um arquivo de amostra do executvel, o arquivo de amostra existente apagado automaticamente. Sendo assim, se precisar do arquivo de amostra existente, deve-se fazer backup junto ao executvel usado para cri-lo, antes de substituir o executvel por uma verso mais nova. Consulte a Seo 43.4 para detalhes sobre o backup do arquivo de amostra.

43.5.1. Usando o op_time


A ferramenta op_time oferece uma viso geral de todos os executveis sendo perfilados. Veja a seguir uma parte do exemplo de output:
581 966 1028 1187 1480 2039 6249 8842 31342 58283 82853 0.2949 0.4904 0.5218 0.6026 0.7513 1.0351 3.1722 4.4885 15.9103 29.5865 42.0591 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 /usr/bin/oprofiled /usr/sbin/cupsd /usr/sbin/irqbalance /bin/bash /usr/bin/slocate /usr/lib/rpm/rpmq /usr/X11R6/bin/XFree86 /bin/sed /usr/bin/gdmgreeter /no-vmlinux /usr/bin/perl

Cada executavel listado em sua prpria linha. A primeira coluna o nmero de amostras gravadas para o executvel. A segunda coluna a porcentagem das amostras relativa ao nmero total de amostras. A terceira coluna no usada e a quarta o nome do executvel. Consulte a pgina man do op_time para obter uma lista das opes de linha de comandos, como a -r, usada para ordenar o output do executvel, daquele com o maior nmero de amostras para o que tiver o menor nmero de amostras. A opo -c tambm til para especificar um nmero de contador.

43.5.2. Usando o oprofpp


Para recuperar informaes detalhadas sobre um determinado executvel, use o oprofpp:
oprofpp <mode> <executable>

<executable>

deve ser a localidade completa do executvel a ser analisado. O <mode> deve ser um dos seguintes:
-l

Lista os dados da amostra por smbolos. Por exemplo: veja a seguir uma parte do output da execuo do comando oprofpp -l /usr/X11R6/bin/XFree86:
vma ... 08195d10 080b9180 080cdce0 080ce4a0 080ce640 080dd470 080e1360 ... samples 4 5 5 5 5 9 12 % 3.0303 3.78788 3.78788 3.78788 3.78788 6.81818 9.09091 symbol name miComputeCompositeClip Dispatch FreeResource LegalNewID SecurityLookupIDByClass WaitForSomething StandardReadRequestFromClient

A primeira coluna o endereo inicial da memria virtual (virtual memory address, vma). A segunda coluna o nmero de amostras do smbolo. A terceira coluna a porcentagem de amostras deste smbolo relativa ao nmero total de amostras do executvel, e a quarta coluna o nome do smbolo. Para ordenar o output do maior nmero de amostras para o menor (ordem inversa), use -r em conjunto com a opo -l.
-s <symbol-name>

Lista os dados da amostra especficos a um nome de smbolo. Por exemplo: o seguinte output do comando oprofpp -s StandardReadRequestFromClient /usr/X11R6/bin/XFree86:
vma 080e1360 080e1360 080e137f 080e13bb 080e13f4 080e13fb 080e144a 080e15aa 080e1668 080e1803 080e1873 080e190a samples 12 1 1 1 1 1 1 1 1 1 1 2 % 100 8.33333 8.33333 8.33333 8.33333 8.33333 8.33333 8.33333 8.33333 8.33333 8.33333 16.6667 symbol name StandardReadRequestFromClient

A primeira linha um resumo da combinao smbolo/executvel. A primeira coluna consiste dos endereos da memria virtual amostrados. A segunda coluna o nmero de amostras do endereo da memria. A terceira coluna a porcentagem das amostras do endereo da memria relativa ao nmero total de amostras do smbolo.

-L

Lista os dados da amostra por smbolos, com mais detalhes que a -l. Exemplo:
vma samples 08083630 2 08083641 1 080836a1 1 080b8150 1 080b8179 1 080b8fb0 2 080b8fb9 1 080b8fba 1 ... % 1.51515 50 50 0.757576 100 1.51515 50 50 symbol name xf86Wakeup Ones FlushClientCaches

Os dados so os mesmos que da opo -l, exceto que, para cada smbolo, exibido um endereo usado da memria virtual. Para cada endereo da memria virtual, so apresentados o nmero de amostras e a porcentagem de amostras realativa ao nmero total de amostras do smbolo.
-g <file-name>

Gera o output para um arquivo no formato gprof. Se o arquivo gerado tiver o nome gmon.out, o gprof pode ser usado para analisar os dados detalhadamente.. Consulte a pgina man do gprof para detalhes. Veja a seguir outras opes para restringir os dados:
-f <file-name>

Usa o arquivo de amostra especificado <file-name>. Por default, o arquivo de amostra do /var/lib/oprofile/samples/ usado. Use esta opo para especificar um arquivo de Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Captulo 43. OProfile Prxima

Anterior

43.6. Entendendo o /dev/profile/


O diretrio /dev/oprofile/ contm o sistema de arquivo do OProfile. Use o comando cat para exibir os valores dos arquivos virtuais deste sistema de arquivo. Por exemplo: o comando seguinte exibe o tipo de processador detectado pelo OProfile:
cat /dev/oprofile/cpu_type

Existe um diretrio /dev/oprofile/ para cada contador. Por exemplo: se h 2 contadores, existiro os diretrios /dev/oprofile/0/ e dev/oprofile/1/. Cada diretrio de um contador contm os seguintes arquivos:

count Intervalo entre amostras enabled Se for 0, o contador est

desligado e nenhuma amostra coletada para este diretrio. Se for 1, o contador est ligado e as amostras so coletadas event Evento a monitorar kernel Se for 0, as amostras no so coletadas para este evento do contador quando o processador est no espao do kernel. Se for 1, as amostras so coletadas mesmo se o processoador estiver no espao do kernel. unit_mask Quais mscaras de unidade so habilitadas para o contador user Se for 0, as amostras no so coletadas para o evento do contador quando o processador est no espao do usurio. Se for 1, as amostras so coletadas mesmo se o processador estiver no espao do usurio

Os valores destes arquivos podem ser recuperados com o comando cat. Exemplo:
cat /dev/oprofile/0/count

Anterior Anterior Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Captulo 43. OProfile Prxima

43.7. Uso do Exemplo


Apesar do OProfile ser usado para desenvolvedores analisarem o desempenho de aplicaes, tambm serve para administradores de sistemas analisarem o sistema. Por exemplo:

Determine quais aplicaes e servios so mais usados em um sistema o op_time pode ser usado para determinar quanto tempo do processador uma aplicao ou servio usa. Se o sistema usado por diversos servios, mas est com desempenho baixo, os servios que mais consomem tempo do processador podem ser movidos para um sistema dedicado. Determine o uso do processador O evento CPU_CLK_UNHALTED pode ser monitorado para determinar a carga do processador em um determinado perodo de tempo. Estes dados podem ser usados para determinar se processadores adicionais ou mais rpidos podem melhorar o desempenho do sistema.

Anterior Entendendo o
/dev/profile/

Principal Acima

Prxima Interface Grfica

Anterior

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Captulo 43. OProfile Prxima

43.8. Interface Grfica

Algumas preferncias do OProfile podem ser definidas com a interface grfica. Para inici-la, execute o comando oprof_start como root em uma janela de comandos. Aps alterar as opes, estas podem ser salvas ao clicar no boto Salvar e sair (Save and quit). As preferncias so gravadas no /root/.oprofile/daemonrce a aplicao fechada. Sair da aplicao no interrompe o processo de amostragem do OProfile. Na aba Configurar (Setup), usada para determinar os eventos para os contadores, conforme descrito na Seo 43.2.2, selecione o contador no menu suspenso e o evento na lista. apresentada uma breve descrio do evento na caixa de texto abaixo da lista. Somente os eventos disponveis para o contador e arquitetura especficos so apresentados. A interface tambm exibe se o perfilador est rodando ou no e algumas estatsticas sobre ele.

Figura 43-1. Configurao do OProfile No lado direito da aba, selecione a opo Perfilar o kernel para contar os eventos no modo kernel do evento atualmente selecionado, conforme abordado na Seo 43.2.3.

Isto equivalente ao comando opcontrol --ctrN-kernel=1, onde N o nmero do contador. Se est opo est desselecionada, equivalente ao comando opcontrol -ctrN-kernel=0. Selecione a opo Perfilar binrios do usurio para contar os eventos no modo usurio do evento atualmente selecionado, conforme abordado na Seo 43.2.3. Isto equivalente ao comando opcontrol --ctrN-user=1, onde N o nmero do contador. Se esta opo est desselecionada, equivalente ao comando opcontrol --ctrNuser=0. Use o campo de texto Contar para determinar a taxa de amostragem do evento atualmente selecionado, conforme abordado na Seo 43.2.2.1. Se h mscaras de unidade disponveis para o evento selecionado, conforme abordado na Seo 43.2.2.2, estas so exibidas na rea Mscaras de unidade no lado direito da aba Configurar. Selecione a caixa ao lado da mscara de unidade para habilit-la para o evento. Na aba Configurao, para perfilar o kernel, indique o nome e localidade do arquivo vmlinux do kernel a monitorar no campo Arquivo da imagem do kernel. Para configurar o OProfile a no monitorar o kernel, selecione Sem imagem do kernel.

Figura 43-2. Configurao do OProfile Se a opo Verbal est selecionada, o registro do daemon oprofiled inclui mais informaes.

Se Arquivos de amostras do kernel por aplicao est selecionada, o OProfile gera perfis por aplicao para o kernel e seus mdulos, conforme abordado na Seo 43.2.3. Isto equivalente ao comando opcontrol --separate=kernel. Se Arquivos de amostras de bibliotecas compartilhadas por aplicao est selecionada, o OProfile gera perfis por aplicao para as bibliotecas. Isto equivalente ao comando opcontrol --separate=library. Para forar os dados a serem salvos nos arquivos de amostra (conforme abordado na Seo 43.5) clique no boto Expor dados do perfilador(Flush profiler data). Isto equivalente ao comando opcontrol --dump. Para iniciar o OProfile na interface grfica, clique em Iniciar perfilador. Para parar o perfilador, clique em Parar perfilador. Sair da aplicao no interrompe a amostragem do OProfile.
Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Captulo 43. OProfile Prxima

43.9. Recursos Adicionais


Este captulo destaca somente o OProfile, como configur-lo e us-lo. Para aprender mais, consulte os seguintes recursos.

43.9.1. Documentao Instalada


/usr/share/doc/oprofile-0.5.4/oprofile.html OProfile Manual Pgina man do oprofile Aborda opcontrol, oprofpp, op_to_source, op_time, op_merge e op_help

43.9.2. Sites teis

http://oprofile.sourceforge.net/ contm a documentao mais recente, listas de discusso, canais IRC e outros.

Anterior Interface Grfica

Principal Acima

Prxima Apndices

Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima

VII. Apndices

Esta parte contm instrues para a criao de um kernel personalizado a partir dos arquivos fonte providos pela Red Hat, Inc.. ndice A. Criando um Kernel Personalizado Anterior Recursos Adicionais Prxima Criando um Kernel Personalizado Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Prxima Principal

Apndice A. Criando um Kernel Personalizado


Muitas usurios novos do Linux perguntam: "Por que eu devo criar meu prprio kernel?" Dados os avanos no uso dos mdulos do kernel, a resposta mais adequada para esta pergunta : "Se voc no sabe porque deve criar seu prprio kernel, provavelmente no necessrio faz-lo." O kernel distribudo junto ao Red Hat Enterprise Linux e atravs do sistema de Erratas do Red Hat Enterprise Linux oferece suporte para as funcionalidades mais modernas de hardware e do kernel. Para a maioria dos usurios, no necessrio recompilar o kernel. Este apndice oferecido como um guia para usurios que queiram recompilar seu kernel para assim aprender mais sobre ele, ou para usurios que queiram compilar uma funcionalidade experimental no kernel, dentre outros casos. Para atualizar (upgrade) o kernel usando os pacotes do kernel distribudos pela Red Hat, Inc., consulte o Captulo 39. Aviso A criao de um kernel personalizado no suportada pela Equipe de Suporte Instalao. Para mais informaes sobre a atualizao de seu kernel usando os pacotes RPM distribudos pela Red Hat, Inc., consulte o Captulo 39.

A.1. Preparando para Criar


Antes de criar um kernel personalizado, extremamente importante certificar que voc tenha um disquete boot de emergncia funcionando, caso cometa algum erro. Para criar um disquete boot que inicializar a mquina com o kernel atual, execute o seguinte comando:
/sbin/mkbootdisk `uname -r`

Aps criar o disquete, teste-o para verificar se realmente inicializa o sistema.

Para recompilar o kernel, necessrio ter o pacote kernel-source instalado. Invoque o comando
rpm -q kernel-source

para determinar se est instalado. Se no estiver instalado, instale-o pelos CDs do Red Hat Enterprise Linuxou pela Red Hat Network. >>>>>> 1.1.2.4 Para mais informaes sobre a instalao dos pacotes RPM, consulte a Parte III.

Anterior Principal Prxima Apndices Acima Criando o Kernel Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Apndice A. Criando um Kernel Personalizado Prxima

A.2. Criando o Kernel


Para criar um kernel personalizado (execute todos estes passos como root): Nota Este exemplo usa a 2.4.21-1.1931.2.399.ent como a verso do kernel (a verso do kernel pode variar). Para determin-la, digite o comando uname -r e substitua 2.4.21-1.1931.2.399.ent pela verso do kernel retornada pelo comando. 1. Abra uma janela de comandos e v para o diretrio /usr/src/linux-2.4/. Todos os comandos a partir deste ponto devem ser executados neste diretrio. 2. importante que a criao do kernel comece com a rvor
Red Hat Enterprise Linux 3: Guia de Administrao do Sistema Anterior Apndice A. Criando um Kernel Personalizado Prxima

A.3. Recursos Adicionais


Para mais informaes sobre o kernel do Linux, consulte os seguintes recursos.

A.3.1. Documentao Instalada

Este diretrio contm documentao avanada sobre o kernel do Linux e seus mdulos. Estes documentos so escritos para pessoas interessadas em contribuir para o cdigo fonte do kernel e entender como ele funciona.
/usr/src/linux-2.4/Documentation/

A.3.2. Sites teis


http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html The Linux Kernel HOWTO do Projeto de Documentao do Linux. http://www.kernel.org/pub/linux/docs/lkml/ A lista de discusso do kernel do Linux.

Anterior Criando o Kernel

Principal Acima

Prxima ndice Remissivo

Você também pode gostar