# &ktimemon;

## Introdução

O &ktimemon; é um pequeno programa para monitorizar a utilização do seu sistema. Ele pode mostrar gráficos de barras que contêm infomações sobre o CPU, a memória e o uso da área de paginação ou memória virtual, assim como a utilização do disco e a actividade de mudança de contexto. Mantendo o espírito do KDE, ele suporta a configuração através de uma interface gráfica de utilizador. Ele também suporta a acoplagem, &ie; pode mostrar as informações no painel do sistema.

Actualmente, o &ktimemon; suporta apenas um número limitado de sistemas: baseados em &Linux; com o sistema de ficheiros `/proc`, as instalações baseadas em &Solaris; com a biblioteca `kstat` e as instalações baseadas em Digital &UNIX; (antigamente DEC/OSF1) com a chamada de sistema `table`(2). A ajuda a passá-lo para outras plataformas é muito bem-vinda.

O &ktimemon; pode ser iniciado a partir da linha de comandos ou do menu Iniciar (no sub-menu Utilitários). Se o utilizador escolher iniciar na linha de comandos, o &ktimemon; obecede às opções de programa normais do &X-Window;, como a `-geometry`. O &ktimemon; é ciente da sessão, &ie; ele mantém um registo do estado actual (as cores, &etc;) e restaura o mesmo na próxima sessão do utilizador.

## Fundamentos do Ecrã

Após iniciar o &ktimemon; aparecerá uma pequena janela que mostra informações obtidas a partir do sistema operativo. Se o utilizador mover o cursor do rato sobre a janela do &ktimemon; e deixar ali por um pequeno periodo de tempo, uma dica (&ie; uma pequena janela transitória) irá aparecer. A dica contém informações numéricas sobre os parâmetros do sistema mostrados pelos gráficos de barra. As dicas podem ser desactivadas (veja em Configuração).

### Modos de Visualização

O &ktimemon; pode mostrar dois diferentes conjuntos de informações do sistema. Como é explicado no capítulo Configuração , os botões do rato podem ser associados a varias acções. Por omissão, o botão esquerdo está ligado à acção de mudança de modo, &ie; ao carregar com o &LMB; em qualquer lugar da janela do &ktimemon; a informação mostrada muda do Modo Normal (por omissão) para o Modo Extendido, e vice-versa.

#### Modo Normal

Após iniciar o &ktimemon; pela primeira vez, ele mostrará informações sobre a actividade actual do processador, assim como da memória e do uso da memória virtual. São usados três gráficos de barras para mostrar estas informações; estes são actualizados regularmente (o intervalo por omissão é 0.5s, mas isto pode ser mudado; veja em Configuração). Os três gráficos de barras representam (da esquerda para a direita):

Uso do CPU .

- O &ktimemon; mostra as barras em três cores diferentes, representando o tempo gasto pelo CPU nos vários modos. De baixo para cima estes são o modo de 'kernel', o modo de utilizador e o modo de utilizador com a prioridade reduzida (nice) - como o &Solaris; parece não suportar sa estatísticas para o modo 'nice', a parte superior da barra representa o tempo gasto no estado de espera nestes sistemas. A distância do topo da barra até ao topo da janela representa a percentagem do tempo inactivo do CPU.

Uso da Memória.

- Semelhante à barra de utilização do CPU, esta barra é composta por três sub-campos, representando (de baixo para cima) a memória alocada pelos processos, a memória usada pelos 'buffers' de E/S e a memória usada pela 'cache' dos ficheiros. Para os sistemas baseados no Digital &UNIX;, a secção do meio representa a memória inactiva (&ie;, a memória alocada e não usada por um certo período de tempo), e para os sistemas baseados em &Solaris;, a seção do meio da barra nao é usada, correspondo a secção superior à quantidade de memória usada pelo 'kernel'. Mais uma vez, a distância entre o topo da barra e o topo da janela representa a memória livre.

Utilização da memória virtual.

- Esta barra consiste num único unico que representa a utilização actual da memória virtual em relação à quantidade total da mesma.

Ao carregar com o botão do rato ligado à mudança de modo na janela do &ktimemon;, muda para o Modo Extendido.

#### Modo Extendido

Neste modo, os três graficos de barras são usados para mostrar um conjunto diferente de informações do sistema. Novamente, da esquerda para a direita, eles mostram:

A actividade de paginação.

- Esta barra consiste em duas partes, em que a metade inferior da mesma mostra o número de páginas de memória escritas no armazenamento secundário no último intervalo de amostragem. De forma semelhante, a metade superior indica o número de páginas lidas do armazenamento secundário.

Actividade de paginação.

- A segunda barra mostra a informação analógica da actividade de paginação.

Mudanças de contexto.

- Novamente, este gráfico de barras consiste num único campo que indica o número de mudanças de contexto no último intervalo de amostragem.

Como nao existe nenhum modo natural de escalar a informação mostrada no Modo Extendido, por omissão o &ktimemon; utiliza o auto-redimensionamento (explicado na Secção de Perguntas Frequentes). Existe, contudo, a possibilidade de especificar a informação da escala; neste caso veja a secção Configuração.

Repare que os dois conjuntos de gráficos de barras compartilham as mesmas cores, &ie; o ajuste de cores para o Modo Normal também é usado para mostrar a informação no Modo Extendido (veja também em Configuração como mudar o esquema de cores).

## Estrutura do Menu

Por omissão, o &RMB; está ligado à acção do menu de contexto, &ie; ao carregar no botão direito do rato em qualquer lugar da janela do &ktimemon; fará aparecer um menu, o qual é discutido nas secções seguintes.

### Configuração...

O item do menu Configuração... é usado para fazer aparecer a janela de configuração. As opções de configuração são discutidas na secção Configuração.

### Acoplado no Painel

Ao seleccionar o item de menu Acoplado no Painel, o &ktimemon; muda da sua visualização normal (&ie; uma janela normal) para o estado do painel, onde a janela do &ktimemon; desaparece e uma versão reduzida é mostrada no painel do sistema, e vice-versa. Para além da redução no tamanho, o &ktimemon; no painel comporta-se exactamente como o seu irmão maior.

### Ajuda

&help.menu.documentation;

### Barras Horizontais

Ao seleccionar o item de menu Barras Horizontais ,o &ktimemon; muda de barras verticais para barras horizontais e vice-versa. Não é muito útil, mas foi fácil de implementar ;-)

### Sair

O item do menu Sair - surpresa, surpresa -- é usado para terminar o &ktimemon;. O estado actual será gravado (&ie; o esquema de cor, o tamanho da janela, se está presente no painel) e é restaurado o estado na próxima chamada.

A informação da configuração é gravada no ficheiro `$`HOME`/.kde/share/config/ktimemonrc`, onde a `$`HOME`` refere-se à directoria pessoal do utilizador. Se o ficheiro for removido, o &ktimemon; iniciar-se-á no seu estado predefinido na próxima chamada.

## Configuração

O &ktimemon; pode ser configurado através de uma janela simples (veja também a discussão do Menu de Configuração). Na página Geral, o intervalo de amostragem pode ser especificado assim como a informação da escala (veja também a discussão do modo extendido). Se a opção Auto-redimensionamento estiver assinalada (o auto-redimensionamento é explicado na secção de FAQ), os factores de escala não poderão ser editados, dado que o &ktimemon; os determina automaticamente.

A página de Cores pode ser usada para configurar as cores dos gráficos de barras conforme as preferências individuais. Uma pequena amostra do gráfico de barras dá um resultado imediato.

Na página de Interacção, as configurações do rato poderão ser adaptadas. Ao carregar com um botão do rato na janela do &ktimemon;, este evento poderá ser ignorado, poderá disparar uma mudança de modo (veja também em Modos), invocar um menu de contexto (veja também em Menu), ou invocar um processo externo. A linha de comandos especificada para os processos externos é interpretada pela 'shell' por omissão, &ie; os comandos de 'shell', as variáveis de ambiente e o redireccionamento &etc; poderão ser usados.

A página de Interacção também contém uma opção que pode ser usada para desactivar o aparecimento automático de dicas com informações numéricas acerca dos gráficos de barras (compare com os Fundamentos do Ecrã).

## Perguntas e Respostas Frequentes

Quais os sistemas operativos que são suportados pelo &ktimemon;?

O &ktimemon; suporta os sistemas baseados em &Linux;, com o sistema de ficheiros `/proc` , os sistemas baseados em &Solaris; com a biblioteca `kstat`, os sistemas Digital &UNIX; (anterior DEC/OSF1) com a interface da chamada de sistema `table`(2). Somente a versão &Linux; foi totalmente testada, se você tiver qualquer problema com a versão para &Solaris;/Digital &UNIX;, por favor não hesite em contactar-me.

Para além disso, as contribuições para adaptar o &ktimemon; para outras plataformas são muito bem-vindas. Por favor contacte-me em m.maierhofer@tees.ac.uk se você pretende passar o &ktimemon; para outras variantes de &UNIX;.

Como funciona o auto-redimensionamento?

Obrigado por perguntar. Como não há um factor de escala sensível predeterminado para as operações de paginação e das mudanças de contexto (ao contrário da utilização de memória, onde você pode obter o tamanho total da memória como uma base), o &ktimemon; usa um mecanismo semi-inteligente (bem,...) de auto-redimensionamento. Este funciona conforme se segue:

- Cada um dos três gráficos de barras descritos na secção do modo extendido tem um factor de escala associado. Os valores iniciais destes factores são ajustados para alguns valores predeterminados.

- Cada vez que uma nova amostra é visualizada, o valor respectivo é colocado na escala com o factor correspondente. Se o valor puder ser mostrado na escala escolhida pelo factor, não ocorre nenhuma mudança (&ie;, as pequenas mudanças na actividade são reflectidas por uma mudança na altura da barra).

- Se o valor na escala for muito alto ou muito baixo para ser mostrado com o factor de escala actual, a escala é ajustada de forma que o novo valor mostrado seja aproximadamente metade do gráfico de barra. Assim, as mudanças subsequentes deverão ter uma boa hipótese de serem mostradas em relação ao valor actual, sem mudar a escala de novo.

Por é que aparece uma mensagem com o resultado do diagnóstico do comando-filho?

Se o utilizador associar um botão do rato a um comando externo tal como é descrito no capítulo Configuração, o &ktimemon; não verifica se o nome do comando é válido. Em vez disso, é invocado um comando de 'shell' para executar a declaração, para que os comandos de 'shell', as variáveis de ambiente, entre outras coisas, possam ser usados. Para permitir que seja devolvido algo para o utilizador, o &ktimemon; controla a saída `stderr` do comando, e informa-o nessa mensagem.

Enquanto que este esquema poderá ser útil se um comando não for encontrado, pode ser muito irritante se o comando chamado imprimir informações de diagnóstico no `stderr`. Uma solução simples e elegante para este problema será adicionar `2>/dev/null` ao fim da especificação do comando. Isto redirecciona as mensagens de diagnóstico para o nirvana das mensagens e evita o aparecimento das janelas de mensagens.

## Agradecimentos e Reconhecimentos

o &ktimemon; é baseado numa versão Xt do meu irmão.

Agradecimentos a Tobe Toben, ttoben@artis.uni-oldenburg.de, Cristian Tibirna ctibirna@gch.ulaval.ca, Dirk A. Mueller dmuell@rhrk.uni-kl.de, Mark Krischer krischem@amp.com, e Lubos Lunak l.lunak@sh.cvut.cz pelos relatos de erros, correcções, comentários e sugestões.

Tradução de José Pires jncp@netcabo.pt

&underGPL;