![Como corrigir o problema da falta de som no laptop](/f/7c68835e4f68da8a60e7ce74c7eea2f0.jpg?width=100&height=100)
Embora o Linux seja muito confiável, administradores de sistema sábios devem encontrar uma maneira de ficar de olho no comportamento e na utilização do sistema o tempo todo. Garantindo um tempo de atividade o mais próximo de 100% quanto possível e a disponibilidade de recursos são necessidades críticas em muitos ambientes. Examinar o status passado e atual do sistema nos permitirá prever e provavelmente evitar possíveis problemas.
Apresentando o Programa de Certificação da Linux Foundation
Neste artigo, apresentaremos uma lista de algumas ferramentas que estão disponíveis na maioria das distribuições upstream para verificar o status do sistema, analisar interrupções e solucionar problemas contínuos. Especificamente, da miríade de dados disponíveis, vamos nos concentrar na CPU, espaço de armazenamento e utilização de memória, gerenciamento de processo básico e análise de log.
Existem 2 comandos bem conhecidos no Linux que são usados para inspecionar o uso do espaço de armazenamento: df e du.
O primeiro, df (que significa disco livre), normalmente é usado para relatar o uso geral do espaço em disco pelo sistema de arquivos.
Sem opções, df relata o uso do espaço em disco em bytes. Com o -h sinalizar ele exibirá as mesmas informações usando MB ou GB. Observe que este relatório também inclui o tamanho total de cada sistema de arquivos (em blocos de 1 K), os espaços livres e disponíveis e o ponto de montagem de cada dispositivo de armazenamento.
# df. # df -h.
Isso é certamente bom - mas há outra limitação que pode tornar um sistema de arquivos inutilizável e que está ficando sem inodes. Todos os arquivos em um sistema de arquivos são mapeados para um inode que contém seus metadados.
# df -hTi.
você pode ver a quantidade de inodes usados e disponíveis:
De acordo com a imagem acima, existem 146 inodes usados (1%) em / home, o que significa que você ainda pode criar arquivos de 226 mil nesse sistema de arquivos.
Observe que você pode ficar sem espaço de armazenamento muito antes de ficar sem inodes e vice-versa. Por esse motivo, você precisa monitorar não apenas a utilização do espaço de armazenamento, mas também o número de inodes usados pelo sistema de arquivos.
Use os seguintes comandos para encontrar arquivos ou diretórios vazios (que ocupam 0B) que estão usando inodes sem motivo:
# find / home -tipo f -vazio. # find / home -tipo d -vazio.
Além disso, você pode adicionar o -excluir sinalize no final de cada comando se você também deseja excluir esses arquivos e diretórios vazios:
# find / home -tipo f -empty --delete. # find / home -tipo f -vazio.
O procedimento anterior excluiu 4 arquivos. Vamos verificar novamente o número de nós usados / disponíveis em / home:
# df -hTi | grep home.
Como você pode ver, existem 142 inodes usados agora (4 menos do que antes).
Se o uso de um determinado sistema de arquivos estiver acima de uma porcentagem predefinida, você pode usar du (abreviação de uso de disco) para descobrir quais são os arquivos que estão ocupando mais espaço.
O exemplo é dado para /var, que como você pode ver na primeira imagem acima, é usado em 67%.
# du -sch / var / *
Observação: Que você pode alternar para qualquer um dos subdiretórios acima para descobrir exatamente o que há neles e quanto cada item ocupa. Você pode então usar essas informações para excluir alguns arquivos, se não forem necessários, ou estender o tamanho do volume lógico, se necessário.
Leia também
A ferramenta clássica no Linux que é usada para realizar uma verificação geral da utilização da CPU / memória e gerenciamento de processos é comando superior. Além disso, o top exibe uma visão em tempo real de um sistema em execução. Existem outras ferramentas que podem ser utilizadas para o mesmo fim, como htop, mas me conformei com o top porque ele é instalado imediatamente em qualquer distribuição Linux.
Para começar, simplesmente digite o seguinte comando em sua linha de comando e pressione Enter.
# topo.
Vamos examinar um resultado típico:
Nas linhas 1 a 5, as seguintes informações são exibidas:
1. A hora atual (8:41:32 pm) e o tempo de atividade (7 horas e 41 minutos). Apenas um usuário está conectado ao sistema e a carga média durante os últimos 1, 5 e 15 minutos, respectivamente. 0,00, 0,01 e 0,05 indicam que durante esses intervalos de tempo, o sistema ficou ocioso por 0% do tempo (0,00: nenhum processo foi aguardando a CPU), ele ficou sobrecarregado em 1% (0,01: uma média de 0,01 processos estavam esperando pela CPU) e 5% (0.05). Se for menor que 0 e menor o número (0,65, por exemplo), o sistema ficou ocioso por 35% durante os últimos 1, 5 ou 15 minutos, dependendo de onde aparece 0,65.
2. Atualmente, existem 121 processos em execução (você pode ver a lista completa em 6). Apenas 1 deles está rodando (topo neste caso, como você pode ver na coluna% CPU) e os 120 restantes estão esperando em segundo plano, mas estão “dormindo” e permanecerão nesse estado até que os chamemos. Como? Você pode verificar isso abrindo um prompt do mysql e executar algumas consultas. Você notará como o número de processos em execução aumenta.
Como alternativa, você pode abrir um navegador da web e navegar para qualquer página fornecida pelo Apache e obterá o mesmo resultado. Obviamente, esses exemplos presumem que ambos os serviços estão instalados em seu servidor.
3. us (tempo de execução de processos do usuário com prioridade não modificada), sy (tempo de execução de processos do kernel), ni (tempo de execução de processos do usuário com prioridade modificada), wa (tempo de espera por I / O conclusão), hi (tempo gasto em manutenção de interrupções de hardware), si (tempo gasto em manutenção de interrupções de software), st (tempo roubado do VM atual pelo hipervisor - apenas em virtualizado ambientes).
4. Uso de memória física.
5. Troque o uso do espaço.
Para inspecionar a memória RAM e o uso de swap, você também pode usar gratuitamente comando.
# gratuitamente.
Claro, você também pode usar o -m (MB) ou -g (GB) muda para exibir as mesmas informações em formato legível por humanos:
# free -m.
De qualquer forma, você precisa estar ciente do fato de que o kernel reserva o máximo de memória possível e a disponibiliza para os processos quando eles solicitam. Particularmente, o “- / + buffers / cache”A linha mostra os valores reais depois que esse cache de E / S é levado em consideração.
Em outras palavras, a quantidade de memória usada pelos processos e a quantidade disponível para outros processos (neste caso, 232 MB usado e 270 MB disponíveis, respectivamente). Quando os processos precisam dessa memória, o kernel diminui automaticamente o tamanho do cache de E / S.
Leia também: 10 Comando “gratuito” útil para verificar o uso da memória do Linux
A qualquer momento, muitos processos estão sendo executados em nosso sistema Linux. Existem duas ferramentas que usaremos para monitorar os processos de perto: ps e pstree.
Usando o -e e -f opções combinadas em um (-ef), você pode listar todos os processos que estão atualmente em execução no seu sistema. Você pode canalizar essa saída para outras ferramentas, como grep (conforme explicado em Parte 1 da série LFCS) para restringir a saída para o (s) processo (s) desejado (s):
# ps -ef | grep -i squid | grep -v grep.
A lista de processos acima mostra as seguintes informações:
proprietário do processo, PID, PID pai (o processo pai), utilização do processador, hora em que o comando foi iniciado, tty (o? indica que é um daemon), o tempo de CPU acumulado e o comando associado ao processo.
No entanto, talvez você não precise de todas essas informações e gostaria de mostrar ao dono do processo, o comando que o iniciou, seu PID e PPID, e a porcentagem de memória que está usando atualmente - nessa ordem, e classifique por uso de memória em ordem decrescente (observe que o ps por padrão é classificado por PID).
# ps -eo usuário, comm, pid, ppid,% mem --sort -% mem.
Onde o sinal de menos na frente de% mem indica a classificação em ordem decrescente.
Se, por algum motivo, um processo começa a consumir muitos recursos do sistema e é provável que coloque em risco o funcionalidade do sistema, você vai querer parar ou pausar sua execução passando um dos seguintes sinais usando a matar programa para ele. Outros motivos pelos quais você deve considerar fazer isso são quando você iniciou um processo em primeiro plano, mas deseja pausá-lo e reiniciá-lo em segundo plano.
Nome do sinal | Número do sinal | Descrição |
SIGTERM | 15 | Elimine o processo com elegância. |
SIGINT | 2 | Este é o sinal enviado quando pressionamos Ctrl + C. Tem como objetivo interromper o processo, mas o processo pode ignorá-lo. |
SIGKILL | 9 | Este sinal também interrompe o processo, mas o faz incondicionalmente (use com cuidado!), Pois um processo não pode ignorá-lo. |
SIGHUP | 1 | Abreviação de “Hang UP”, este sinaliza instrui os daemons a reler seu arquivo de configuração sem realmente interromper o processo. |
SIGTSTP | 20 | Pause a execução e aguarde pronto para continuar. Este é o sinal enviado quando digitamos a combinação de teclas Ctrl + Z. |
SIGSTOP | 19 | O processo é pausado e não recebe mais atenção dos ciclos da CPU até que seja reiniciado. |
SIGCONT | 18 | Este sinal informa ao processo para retomar a execução após ter recebido SIGTSTP ou SIGSTOP. Este é o sinal enviado pelo shell quando usamos os comandos fg ou bg. |
Quando a execução normal de um determinado processo implica que nenhuma saída será enviada para a tela enquanto estiver em execução, você pode querer iniciá-lo em segundo plano (anexando um E comercial no final do comando).
nome do processo &
ou,
Assim que começar a ser executado em primeiro plano, faça uma pausa e envie-o para segundo plano com
Ctrl + Z.
# kill -18 PID.
Observe que cada distribuição fornece ferramentas para interromper / iniciar / reiniciar / recarregar serviços comuns, como serviço em sistemas baseados em SysV ou systemctl em sistemas baseados em systemd.
Se um processo não responder a esses utilitários, você pode eliminá-lo à força, enviando-lhe o sinal SIGKILL.
# ps -ef | grep apache. # kill -9 3821.
Quando houver qualquer tipo de interrupção no sistema (seja interrupção de energia, falha de hardware, interrupção planejada ou não planejada de um processo ou qualquer anormalidade), o login /var/log são seus melhores amigos para determinar o que aconteceu ou o que poderia estar causando os problemas que você está enfrentando.
# cd / var / log.
Alguns dos itens em /var/log são arquivos de texto regulares, outros são diretórios e ainda outros são arquivos compactados de logs girados (históricos). Você vai querer verificar aqueles com a palavra erro no nome, mas inspecionar o resto também pode ser útil.
Imagine este cenário. Seus clientes LAN não conseguem imprimir em impressoras de rede. A primeira etapa para solucionar essa situação é /var/log/cups diretório e veja o que está lá.
Você pode usar o cauda comando para exibir as últimas 10 linhas do arquivo error_log, ou tail -f error_log para uma visão em tempo real do log.
# cd / var / log / cups. # ls. # tail error_log.
A captura de tela acima fornece algumas informações úteis para entender o que pode estar causando o problema. Observe que seguir as etapas ou corrigir o mau funcionamento do processo ainda pode não resolver o problema geral, mas se você se acostumar desde o início, para verificar os registros sempre que surgir um problema (seja local ou de rede), você estará definitivamente à direita acompanhar.
Embora as falhas de hardware possam ser difíceis de solucionar, você deve verificar o dmesg e logs de mensagens e grep para palavras relacionadas a uma parte de hardware supostamente defeituosa.
A imagem abaixo é tirada de /var/log/messages depois de procurar a palavra erro usando o seguinte comando:
# less / var / log / messages | erro grep -i.
Podemos ver que estamos tendo um problema com dois dispositivos de armazenamento: /dev/sdb e /dev/sdc, que por sua vez causa um problema com a matriz RAID.
Neste artigo, exploramos algumas das ferramentas que podem ajudá-lo a estar sempre ciente do status geral do seu sistema. Além disso, você precisa se certificar de que o sistema operacional e os pacotes instalados estão atualizados para as versões estáveis mais recentes. E nunca, nunca se esqueça de verificar os logs! Então você estará na direção certa para encontrar a solução definitiva para quaisquer problemas.
Sinta-se à vontade para deixar seus comentários, sugestões ou dúvidas -se houver- utilizando o formulário abaixo.