<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Sistema Operacional - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/sistema-operacional/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/sistema-operacional/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 09 Jul 2025 10:50:27 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Obter informações sobre hardware da máquina com comando lshw no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/obter-informacoes-sobre-hardware-da-maquina-com-comando-lshw-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/obter-informacoes-sobre-hardware-da-maquina-com-comando-lshw-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 02 Jan 2025 11:49:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20635</guid>

					<description><![CDATA[<p>Obter informações sobre hardware do computador com comando lshw no Linux Fala pessoal! Neste post trago mais um tutorial sobre uma ferramenta muito útil e versátil no Linux, que é o comando lshw (List Hardware). Trata-se de um utilitário que permite exibir informações detalhadas sobre o hardware de um computador que esteja rodando um sistema Linux qualquer. Esse comando mostra especificações de componentes como CPU, memória, armazenamento, dispositivos de rede, entre muitos outros. Vejamos como ele funciona e exemplos de uso. O que é o lshw? Sucintamente, o lshw é uma ferramenta de linha de comandos que fornece uma descrição detalhada do hardware instalado em um sistema Linux. Instalação do lshw Geralmente a ferramenta vem instalada nas diversas distribuições Linux, mas eventualmente ela pode não estar disponível por padrão. Se for necessário instalá-la, execute um dos comandos a seguir, dependendo de sua distro: $ sudo apt install lshw # Distribuições baseadas em Debian/Ubuntu $ sudo yum install lshw # Distribuições baseadas em Red Hat/CentOS Observação Para exibir informações completas sobre o sistema, recomenda-se executar a ferramenta com privilégios de superusuário (sudo). Sintaxe básica do lshw $ lshw [opções] Opções comuns: -short: Mostra um resumo compacto das informações. -C &#60;classe&#62;: Exibe [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/obter-informacoes-sobre-hardware-da-maquina-com-comando-lshw-no-linux/">Obter informações sobre hardware da máquina com comando lshw no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Obter informações sobre hardware do computador com comando lshw no Linux</h1>
<p>Fala pessoal! Neste post trago mais um tutorial sobre uma ferramenta muito útil e versátil no Linux, que é o comando <strong>lshw</strong> (<em>List Hardware</em>). Trata-se de um utilitário que permite exibir informações detalhadas sobre o hardware de um computador que esteja rodando um sistema Linux qualquer.</p>
<p>Esse comando mostra especificações de componentes como CPU, memória, <a href="https://www.bosontreinamentos.com.br/hardware/padroes-de-interfaces-de-storage-dispositivos-de-armazenamento-de-dados/">armazenamento</a>, dispositivos de rede, entre muitos outros.</p>
<p>Vejamos como ele funciona e exemplos de uso.</p>
<h2>O que é o lshw?</h2>
<p>Sucintamente, o lshw é uma ferramenta de linha de comandos que fornece uma descrição detalhada do hardware instalado em um sistema Linux.</p>
<h3>Instalação do lshw</h3>
<p>Geralmente a ferramenta vem instalada nas diversas distribuições Linux, mas eventualmente ela pode não estar disponível por padrão. Se for necessário instalá-la, execute um dos comandos a seguir, dependendo de sua distro:</p>
<pre><strong>$ sudo apt install lshw <span style="color: #339966;"># Distribuições baseadas em Debian/Ubuntu</span></strong>
<strong>$ sudo yum install lshw <span style="color: #339966;"># Distribuições baseadas em Red Hat/CentOS</span></strong></pre>
<p>Observação Para exibir informações completas sobre o sistema, recomenda-se executar a ferramenta com privilégios de superusuário (sudo).</p>
<h2>Sintaxe básica do lshw</h2>
<pre><span style="color: #800080;"><strong>$ lshw [opções]</strong></span></pre>
<p>Opções comuns:</p>
<ul>
<li><strong>-short:</strong> Mostra um resumo compacto das informações.</li>
<li><strong>-C &lt;classe&gt;</strong>: Exibe apenas informações sobre uma <em><strong>classe de hardware</strong></em> (ex.: processor, disk). Ver abaixo as classes disponíveis.</li>
<li><strong>-quiet</strong>: Suprime mensagens de erro.</li>
<li><strong>-json</strong>: Produz saída em formato JSON (se suportado).</li>
<li><strong>-xml</strong>: Produz saída em formato XML.</li>
</ul>
<h2>Classes de hardware disponíveis</h2>
<p>O lshw organiza o hardware em classes. Algumas classes comuns são:</p>
<ul>
<li><strong>processor</strong>: Mostra informações sobre a CPU.</li>
<li><strong>memory</strong>: Detalhes da RAM e cache.</li>
<li><strong>disk</strong>: Informações sobre discos.</li>
<li><strong>network</strong>: Detalhes das interfaces de rede.</li>
<li><strong>display</strong>: Informações sobre a GPU.</li>
<li><strong>storage</strong>: Controladores de armazenamento.</li>
</ul>
<h2>Exemplos de uso do lshw</h2>
<p>Vejamos alguns exemplos de uso do lshw para consultar informações sobre o hardware do computador.</p>
<h4><strong>Mostrar informações completas do hardware</strong></h4>
<pre><strong>$ sudo lshw</strong></pre>
<p>A execução do lshw sem nenhuma opção produz uma saída com informações sobre CPU, memória, armazenamento, placas de rede, etc.</p>
<p>Saída típica:</p>
<pre><strong>description: Laptop
product: Inspiron 15 (Inspiron 3543)
vendor: Dell Inc.
width: 64 bits
capabilities: smbios-2.8 dmi-2.8 smp vsyscall32</strong></pre>
<p>Dica: Use o lshw combinado com ferramentas como o <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/visualizar-o-conteudo-de-arquivos-com-comandos-more-e-less-no-linux/">paginador less</a> para facilitar a navegação na saída apresentada, como segue:</p>
<pre><strong>$ sudo lshw | less</strong></pre>
<h4><strong>Mostrar informações resumidas</strong></h4>
<p>Usamos a opção <strong>-short</strong> para exibir uma saída mais compacta:</p>
<pre><strong>$ sudo lshw -short</strong></pre>
<p>Saída típica:</p>
<pre><strong>H/W path Device Class Description</strong>
<strong>====================================================</strong>
<strong>/0 system Inspiron 3543</strong>
<strong>/0/0 memory 64KiB BIOS</strong>
<strong>/0/4 processor Intel(R) Core(TM) i5-5200U</strong>
<strong>/0/5 memory 8GiB System Memory</strong>
<strong>/0/5/0 memory 4GiB SODIMM DDR3</strong>
<strong>/0/5/1 memory 4GiB SODIMM DDR3</strong></pre>
<h4><strong>Mostrar informações específicas</strong></h4>
<p>Podemos filtrar informações para exibir apenas um tipo específico de hardware, como CPU, Rede ou Memória, entre outros.</p>
<p><strong>1. Filtrar por CPU:</strong></p>
<pre><strong>$ sudo lshw -C processor</strong></pre>
<p>Saída:</p>
<pre><strong>*-cpu</strong>
<strong>description: CPU</strong>
<strong>product: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz</strong>
<strong>vendor: Intel Corp.</strong>
<strong>physical id: 4</strong>
<strong>clock: 2200MHz</strong></pre>
<p><strong>2. Filtrar por Memória:</strong></p>
<pre><strong>$ sudo lshw -C memory</strong></pre>
<p>Saída:</p>
<pre><strong>*-memory</strong>
<strong>description: System Memory</strong>
<strong>size: 8GiB</strong></pre>
<p><strong>3. Filtrar por Rede:</strong></p>
<pre><strong>$ sudo lshw -C network</strong></pre>
<p>Saída:</p>
<pre><strong>*-network</strong>
<strong>description: Wireless interface</strong>
<strong>product: Wireless 7265</strong>
<strong>vendor: Intel Corporation</strong>
<strong>logical name: wlan0</strong>
<strong>capabilities: ethernet physical wireless</strong></pre>
<p><strong>4. Filtrar por discos:</strong></p>
<pre><strong>$ sudo lshw -C disk</strong></pre>
<p>Saída:</p>
<pre><strong>*-disk</strong>
<strong>description: ATA Disk</strong>
<strong>product: ST1000LM024 HN-M</strong>
<strong>size: 931GiB</strong></pre>
<h4>Salvar a saída em um arquivo</h4>
<p>Para analisar as informações posteriormente, é possível salvar a saída gerada pelo comando em um arquivo de texto simples:</p>
<p><strong>1. Salvar a saída completa:</strong></p>
<pre><strong>$ sudo lshw &gt; hardware_info.txt</strong></pre>
<p>Assim, o conteúdo gerado pelo lshw será salvo no arquivo de nome<em> hardware_info.txt</em> (claro que você pode dar o nome que quiser ao arquivo!)</p>
<p><strong>2. Saída resumida:</strong></p>
<pre><strong>$ sudo lshw -short &gt; hardware_summary.txt</strong></pre>
<h4>Exibir saída em formato XML ou JSON</h4>
<p>Também é possível exibir a saída gerado em um formato de intercâmbio de dados, como XML ou JSON, que pode alimentar outras aplicações ou scripts.</p>
<p><strong>1. Formato XML:</strong></p>
<pre><strong>$ sudo lshw -xml</strong></pre>
<p>Essa opção é útil para integrar informações em sistemas ou relatórios automatizados.</p>
<p><strong>2. Formato JSON (<em>depende da versão do lshw</em>):</strong></p>
<pre><strong>$ sudo lshw -json</strong></pre>
<h2>Conclusão</h2>
<p>O comando lshw é uma ferramenta simples e versátil usada para listar informações detalhadas sobre o hardware de um sistema Linux. Ele é bastante útil para ajudar a efetuar diagnósticos de problemas, criar inventário de hardware e realizar verificações de compatibilidade.</p>
<p>Para uso rápido e básico, a opção <em>-short</em> fornece uma visão geral rápida, enquanto as opções mais específicas ajudam a detalhar componentes individuais como CPU, memória, ou rede.</p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/obter-informacoes-sobre-hardware-da-maquina-com-comando-lshw-no-linux/">Obter informações sobre hardware da máquina com comando lshw no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/obter-informacoes-sobre-hardware-da-maquina-com-comando-lshw-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como instalar o Google Chrome no Linux Mint e similares</title>
		<link>https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 11:41:34 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20663</guid>

					<description><![CDATA[<p>Como instalar o Google Chrome no Linux Mint e similares Neste tutorial veremos como realizar a instalação do popular navegador Google Chrome no sistema operacional Linux Mint e similares, por meio de comandos do terminal. Por padrão, o Mint traz como navegador pré-instalado o Mozilla Firefox, mas não traz o Chrome, e caso você queira ou precise utilizar essa opção de navegador, deve instalá-la manualmente no sistema Vamos aos passos para realizar a instalação do Chrome no Linux. Atualizar o sistema Antes de iniciar, vamos atualizar a lista de repositórios e os pacotes do sistema, para garantir que todas as versões dos pacotes instalados sejam as mais recentes: $ sudo apt update &#38;&#38; sudo apt upgrade Dependendo da quantidade de pacotes a atualizar o sistema pode levar algum tempo até finalizar todo o processo. Apenas aguarde. Desta forma também diminuimos a chance de ocorrer algum problema de compatibilidade entre pacotes ao instalar o Chrome. Pacotes necessários Vamos também instalar alguns pacotes que serão necessários para arealizar a instalação do Chrome, como o pacote curl. Pode ser que você já tenha esses pacotes instalados no sistema, mas por via das dúvidas executamos o comando a seguir para instalá-los: $ sudo apt [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/">Como instalar o Google Chrome no Linux Mint e similares</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Como instalar o Google Chrome no Linux Mint e similares</h1>
<p>Neste tutorial veremos como realizar a instalação do popular navegador Google Chrome no sistema operacional Linux Mint e similares, por meio de comandos do terminal.</p>
<p>Por padrão, o Mint traz como navegador pré-instalado o Mozilla Firefox, mas não traz o Chrome, e caso você queira ou precise utilizar essa opção de navegador, deve instalá-la manualmente no sistema</p>
<p>Vamos aos passos para realizar a instalação do Chrome no Linux.</p>
<h2>Atualizar o sistema</h2>
<p>Antes de iniciar, vamos atualizar a lista de repositórios e os pacotes do sistema, para garantir que todas as versões dos pacotes instalados sejam as mais recentes:</p>
<pre><strong>$ sudo apt update &amp;&amp; sudo apt upgrade</strong></pre>
<p>Dependendo da quantidade de pacotes a atualizar o sistema pode levar algum tempo até finalizar todo o processo. Apenas aguarde.</p>
<p>Desta forma também diminuimos a chance de ocorrer algum problema de compatibilidade entre pacotes ao instalar o Chrome.</p>
<h2>Pacotes necessários</h2>
<p>Vamos também instalar alguns pacotes que serão necessários para arealizar a instalação do Chrome, como o pacote curl. Pode ser que você já tenha esses pacotes instalados no sistema, mas por via das dúvidas executamos o comando a seguir para instalá-los:</p>
<pre><strong>$ sudo apt install software-properties-common apt-transport-https ca-certificates curl -y</strong></pre>
<p>Esses pacotes tem as seguintes funções no sistema:</p>
<ul>
<li><strong>software-properties-common</strong>: Fornece ferramentas para gerenciar repositórios de software no Linux, como <strong>add-apt-repository</strong>.</li>
<li><strong>apt-transport-https</strong>: Habilita o uso de HTTPS como protocolo para repositórios no apt.</li>
<li><strong>ca-certificates</strong>: Fornece certificados SSL/TLS confiáveis para conexões seguras.</li>
<li><strong>curl</strong>: Ferramenta para transferir dados de ou para servidores usando vários protocolos (HTTP, HTTPS, FTP, etc.).</li>
</ul>
<h2>Chave GPG e Repositório APT do Chrome</h2>
<p>O próximo passo na instalação do Google Chrome no Linux é importar a chave GPG para assinatura digital dos pacotes, e configurar o repositório APT do navegador. Faremos isso em dois passos:</p>
<h3>1. Importar chave GPG</h3>
<p>Para a chave de criptografia GPG do Chrome execute o comando a seguir:</p>
<pre><strong>$ curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg &gt;&gt; /dev/null</strong></pre>
<p>Neste comando, a instrução <strong>curl -fSsL</strong> baixa conteúdo da URL passada usando as seguintes opções:</p>
<p><strong>-f</strong>: Retorna erro em caso de falha HTTP.<br />
<strong>-S</strong>: Mostra mensagens de erro detalhadas.<br />
<strong>-s</strong>: Suprime saída do progresso.<br />
<strong>-L</strong>: Segue redirecionamentos.</p>
<p>Já a instrução <strong>gpg &#8211;dearmor</strong> converte o arquivo de chave pública GPG de texto (ASCII) para um formato binário (.gpg), usado em sistemas como repositórios.</p>
<p>E, finalmente, a instrução <strong>tee /usr/share/keyrings/google-chrome.gpg  &gt;&gt; /dev/null</strong> redireciona a saída para o arquivo google-chrome.gpg e descarta a saída no terminal (dispositivo /dev/null), para evitar exibição de informações desnecessária no terminal.</p>
<h3>2. Configurar repositório do Chrome</h3>
<p>Para configurar o repositório do Chrome execute o comando a seguir:</p>
<pre><strong>$ echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list</strong></pre>
<p>Opcionalmente, podemos conferir a configuração do repositório:</p>
<pre><strong>$ less /etc/apt/sources.list.d/google-chrome.list</strong></pre>
<p>Na sequência, atualizamos a lista de repositórios do APT novamente:</p>
<pre><strong>$ sudo apt update</strong></pre>
<h2>Instalação do pacote do Google Chrome</h2>
<p>Finalmente, realizamos a instalação do pacote do Google Chrome no Linux com o comando a seguir:</p>
<pre><strong>$ sudo apt install google-chrome-stable</strong></pre>
<p>Basta aguardar enquanto o download do navegador Chrome é realizado e os pacotes instalados.</p>
<h2>Testar o Google Chrome</h2>
<p>Para abrir o navegador após a instalação, podemos executar o comando a seguir no terminal:</p>
<pre><strong>$ google-chrome-stable</strong></pre>
<p>Ou simplesmente clicar no atalho que foi criado automaticamente na GUI em <strong>Menu → Internet → Google Chrome</strong>.</p>
<p>Ao abrir o Chrome pela primeira vez, uma caixa de diálogo lhe perguntará se você quer tornar o Google Chrome o navegador padrão do sistema, e se você deseja permitir o envio automático de estatísticas de uso e bugs da aplicação para os desenvolvedores. Escolha o que melhor lhe aprouver, e clique em OK para continuar.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-20666 size-full" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/google-chrome-linux.jpg" alt="Instalação do Google Chrome no Linux" width="522" height="204" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/google-chrome-linux.jpg 522w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/google-chrome-linux-420x164.jpg 420w" sizes="auto, (max-width: 522px) 100vw, 522px" /></p>
<p>Na sequência, você pode optar por se logar na sua conta do Google ou não:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-20667" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/login-google-chrome-1024x792.jpg" alt="Fazer login no Google Chrome no Linux" width="700" height="541" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/login-google-chrome-1024x792.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/login-google-chrome-420x325.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/login-google-chrome-768x594.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/login-google-chrome.jpg 1029w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>E, finalmente, clique em &#8220;Entendi&#8221; na tela de aviso de privacidade dos anúncios do Chrome para começar a usar o navegador:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-20668" title="Privacidade nos anúncios do Chrome" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/privacidade-anuncios-chrome.jpg" alt="Privacidade nos anúncios do Chrome" width="600" height="680" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/privacidade-anuncios-chrome.jpg 625w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/privacidade-anuncios-chrome-371x420.jpg 371w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>É isso aí! Instalação do Google Chrome no Linux Mint realizada com sucesso!</p>
<h2>Remover o Google Chrome do Linux</h2>
<p>Se, por algum motivo, você quiser desinstalar o Google Chrome do Linux, execute o seguinte comando no terminal:</p>
<pre><strong>$ sudo apt remove google-chrome-stable --purge</strong></pre>
<p>Você também pode remover o repositório APT que foi configurado anteriormente:</p>
<pre><strong>$ sudo rm /etc/apt/sources.list.d/google-chrome.list</strong></pre>
<h2>Conclusão</h2>
<p>Neste tutorial vimos como efetuar a instalação do navegador Google Chrome no Linux, uma tarefa simples que envolve a execução de alguns comandos no terminal do sistema. Nos próximos tutoriais vamos aprender a instalar outras opções de browsers no Linux, como os navegadores Vivaldi, Bravo e o <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/">Tor Browser</a>, entre outros.</p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/">Como instalar o Google Chrome no Linux Mint e similares</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utilitário inxi &#8211; Obter informações sobre o sistema no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/utilitario-inxi-obter-informacoes-sobre-o-sistema-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/utilitario-inxi-obter-informacoes-sobre-o-sistema-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 02 Dec 2024 13:01:36 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ferramentas]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20610</guid>

					<description><![CDATA[<p>Utilitário inxi &#8211; Obter informações sobre o sistema no Linux Neste tutorial apresento uma ferramenta para Linux bastante útil e simples de usar: o utilitário inxi. O inxi é um script de linha de comandos escrito em linguagem Perl por Harald Hope que fornece informações sobre o sistema Linux (como informações de hardware da máquina). Trata-se de um fork (projeto derivado) do utilitário infobash, o qual por sua vez foi desenvolvido por Michiel de Boer (locsmif). A página oficial do projeto na Internet é https://smxi.org/docs/inxi.htm. Geralmente essa ferramenta já está disponível no sistema, mas se por acaso sua distribuição não a trouxer instalada por padrão, basta usar o gerenciador de pacotes adequado para obtê-la, com segue: Instalação do inxi Para Debian, Ubuntu, Linux Mint e similares: $ sudo apt install inxi No Fedora e distribuições baseadas em RHEL8: $ sudo dnf install -y inxi O inxi é um comando? Tecnicamente, o inxi é um script, ou seja, um arquivo que contém código escruito em uma linguagem de programação (no caso, o Perl) que o shell interpreta e e executa como se fosse um comando binário. Para todos os efeitos, o usamos como um comando comum. Podemos descobrir a localização do [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/utilitario-inxi-obter-informacoes-sobre-o-sistema-no-linux/">Utilitário inxi &#8211; Obter informações sobre o sistema no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Utilitário inxi &#8211; Obter informações sobre o sistema no Linux</h1>
<p>Neste tutorial apresento uma ferramenta para Linux bastante útil e simples de usar: o utilitário <strong>inxi</strong>.</p>
<p>O inxi é um script de linha de comandos escrito em linguagem Perl por Harald Hope que fornece informações sobre o sistema Linux (como informações de hardware da máquina). Trata-se de um <em>fork</em> (projeto derivado) do utilitário <strong>infobash</strong>, o qual por sua vez foi desenvolvido por Michiel de Boer (locsmif).</p>
<p>A página oficial do projeto na Internet é <a href="https://smxi.org/docs/inxi.htm" target="_blank" rel="noopener">https://smxi.org/docs/inxi.htm</a>.</p>
<p>Geralmente essa ferramenta já está disponível no sistema, mas se por acaso sua distribuição não a trouxer instalada por padrão, basta usar o gerenciador de pacotes adequado para obtê-la, com segue:</p>
<h3>Instalação do inxi</h3>
<p>Para Debian, Ubuntu, Linux Mint e similares:</p>
<pre><strong>$ sudo apt install inxi</strong></pre>
<p>No Fedora e distribuições baseadas em RHEL8:</p>
<pre><strong>$ sudo dnf install -y inxi</strong></pre>
<h3>O inxi é um comando?</h3>
<p>Tecnicamente, o inxi é um script, ou seja, um arquivo que contém código escruito em uma linguagem de programação (no caso, o Perl) que o shell interpreta e e executa como se fosse um comando binário. Para todos os efeitos, o usamos como um comando comum. Podemos descobrir a localização do script no sistema usando o comando whereis:</p>
<pre><strong>$ whereis inxi</strong></pre>
<p>No geral, o inxi está localizado no caminho /usr/bin/inxi (pode estar em outro lugar em seu sistema).</p>
<p>Podemos ver que se trata de um script executável:</p>
<pre><strong>$ ls -l /usr/bin/inxi</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>-rwxr-xr-x 1 root root 1065851 fev 25 2022 <span style="color: #339966;">/usr/bin/inxi</span></strong></span></pre>
<p>E, como se trata de um script, é possível ler (ou até mesmo alterar) seu conteúdo usando um editor de textos ou um comando como o less:</p>
<pre><strong>$ less /usr/bin/inxi</strong></pre>
<p>O código exibido estará na linguagem Perl, que é muito usada na construção de scripts e ferramentas de linha de comando, por exemplo, para monitoramento ou automação de sistemas Linux.</p>
<h2>Como usar o inxi</h2>
<p>Vejamos alguns exemplos de como usar o comando inxi no Linux.</p>
<p><strong>Obter uma visão básica resumida do sistema</strong></p>
<pre><strong>$ inxi</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-20653" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/inxi-hardware-linux.jpg" alt="Informações de hardware com inxi no Linux." width="875" height="73" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/inxi-hardware-linux.jpg 875w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/inxi-hardware-linux-420x35.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/inxi-hardware-linux-768x64.jpg 768w" sizes="auto, (max-width: 875px) 100vw, 875px" /></p>
<p>Neste exemplo foram retornadas informações sobre a CPU, Kernel do sistema, Memória RAM, Storage (dispositivos de armazenamento), processos em execução na máquina, shell usado (Bash) e a versão do inxi instalada.</p>
<p><strong>Gerar um relatório que pode ser salvo encaminhado a saída para um arquivo</strong></p>
<pre><strong>$ inxi &gt; sistema.txt</strong></pre>
<p><strong>Informações mais detalhadas</strong></p>
<p>Para obter informações mais detalhadas do sistema, usamos a opção -b:</p>
<pre><strong>$ inxi -b</strong></pre>
<p><strong>Para obter apenas informações sobre dispositivos de áudio:</strong></p>
<pre><strong>$ inxi -A</strong></pre>
<p><strong>Informações sobre a bateria (se estiver em um notebook, por exemplo):</strong></p>
<pre><strong>$ inxi -B</strong></pre>
<p><strong>Obter informações especificamente sobre as CPUs dos sistema:</strong></p>
<pre><strong>$ inxi -C</strong></pre>
<p><strong>Informações sobre discos rígidos:</strong></p>
<pre><strong>$ inxi -D</strong></pre>
<p><strong>Subsistema gráfico da máquina:</strong></p>
<pre><strong>$ inxi -G</strong></pre>
<p>Essa opção inclui informações sobre o adaptador gráfico (placa de vídeo), display e drivers de vídeo, entre outras.</p>
<p><strong>Informações sobre interfaces de rede:</strong></p>
<pre><strong>$ inxi -i</strong></pre>
<p>Essa opção retorna os nomes dos dispositivos de rede presentes, endereços IPv4 e IPv6, e informações sobre os drivers das placas de rede instaladas.</p>
<p><strong>Informações básicas sobre processos em execução e memória:</strong></p>
<pre><strong>$ inxi -I</strong></pre>
<p><strong>Apenas memória RAM básica:</strong></p>
<pre><strong>$ inxi -m</strong></pre>
<p>Para outros detalhes sobre a RAM, é necessário possuir privilégios de admin:</p>
<pre><strong>$ sudo inxi -m</strong></pre>
<p><strong>Informações de rede mais resumidas</strong></p>
<pre><strong>$ inxi -n</strong></pre>
<p>Nesse caso não são exibidos os endereços IP das interfaces de rede, mas são mostrados os endereços físicos (endereços MAC).</p>
<p><strong>Ver os repositórios em uso no sistema:</strong></p>
<pre><strong>$ inxi -r</strong></pre>
<p><strong>Informações (bem) básicas sobre o sistema:</strong></p>
<pre><strong>$ inxi -S</strong></pre>
<p><strong>Mostrar recursos do sistema (padrão top 5 processos):</strong></p>
<pre><strong>$ inxi -t</strong></pre>
<p><strong>Mostrar recursos do sistema: 15 top processos</strong></p>
<pre><strong>$ inxi -t cm15</strong></pre>
<p><strong>Informações sobre o tempo</strong></p>
<p>Além das opções de informações sobre o hardware e processos do sistema, o inxi também permite, como &#8220;bônus&#8221;, obter os dados do tempo &#8211; no caso referente ao clima, não execução de processos. Esses dados são obtidos a partir da API do <a href="http://OpenWeatherMap.org" target="_blank" rel="noopener">OpenWeatherMap.org</a>.</p>
<p>Para tal usamos a opção -W seguida do nome de uma cidade e de um país, separados por uma vírgula. Se um dos nomes possuir espaços, use o sinal de + em seu lugar. Por exemplo:</p>
<pre><strong>$ inxi -W Sao+Paulo,Brasil</strong></pre>
<p>Saída obtida:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-20655" title="Previsão do tempo com inxi no Linux" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/previsao-tempo-inxi-linux.jpg" alt="Previsão do tempo com inxi no Linux" width="700" height="74" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/previsao-tempo-inxi-linux.jpg 908w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/previsao-tempo-inxi-linux-420x44.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/previsao-tempo-inxi-linux-768x81.jpg 768w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Essa opção também aceita como parâmetros código postal (válido somente para EUA e RU) e um par <em>latitude,longitude</em> do local.</p>
<p>Em versões mais recentes de algumas distribuições, deve-se usar a opção -w (minúscula) &#8211; consultar as páginas de manual para ter certeza de qual opção usar.</p>
<h2>Conclusão</h2>
<p>Neste artigo foi apresentada uma ferramenta bastante útil e bem simples de usar para verificação de informações variadas do sistema no Linux, o script inxi. Esta ferramenta possui diversas outras opções de uso, como por exemplo consulta a dispositivos Bluetooth, discos ópticos, dispositivos USB, partições e dispositivos RAID, além de diversos tipos de filtros aplicáveis às sapidas geradas.</p>
<p>Consulte o manual do inxi (<strong>$ man inxi</strong>) para ver todas as opções disponíveis.</p>
<p>Para saber mais sobre a ferramenta inxi no Linux, assista ao vídeo a seguir da Bóson Treinamentos em Tecnologia:</p>
<p><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/5HlOsLsVGwk?si=aBMMOQ8ERg-rfhZO" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/utilitario-inxi-obter-informacoes-sobre-o-sistema-no-linux/">Utilitário inxi &#8211; Obter informações sobre o sistema no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/utilitario-inxi-obter-informacoes-sobre-o-sistema-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exibir informações sobre uso da memória com comando free no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/exibir-informacoes-sobre-uso-da-memoria-com-comando-free-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/exibir-informacoes-sobre-uso-da-memoria-com-comando-free-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 02 Dec 2024 11:54:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20511</guid>

					<description><![CDATA[<p>Exibir informações sobre uso da memória com comando free no Linux O comando free é usado no Linux para exibir informações sobre o uso de memória do sistema. Ele fornece uma visão geral da memória física (RAM) e da memória swap, incluindo o total disponível, usado, e livre. Essa ferramenta é bastante útil para monitorar o desempenho do sistema e identificar possíveis gargalos relacionados ao uso de memória, e os dados retornados por ela são coletados por meio da análise do arquivo especial /proc/meminfo. Sintaxe básica do free $ free [opções] Se nós simplesmente executarmos o comando free sem usar nenhuma opção, será exibido um resumo das informações de memória. Vejamos um exemplo básico: $ free Saída típica: total usada livre compart. buff/cache disponível Mem: 16389832 4051232 807360 58464 11931240 11854436 Swap: 2097148 1200 2095948 As principais colunas exibidas na saída do comando free são: total: O total de memória RAM ou swap disponível (instalada) no sistema (obtida do arquivo /proc/meminfo). usada: A memória que está em uso atualmente (total &#8211; (livre + buffers + cache)). livre: Memória que está completamente livre e não está sendo utilizada. compart.: Memória usada por programas compartilhados (normalmente em ambientes gráficos). buff/cache: Memória usada [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/exibir-informacoes-sobre-uso-da-memoria-com-comando-free-no-linux/">Exibir informações sobre uso da memória com comando free no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Exibir informações sobre uso da memória com comando free no Linux</h2>
<p>O comando free é usado no Linux para exibir informações sobre o uso de memória do sistema. Ele fornece uma visão geral da memória física (RAM) e da memória swap, incluindo o total disponível, usado, e livre.</p>
<p>Essa ferramenta é bastante útil para monitorar o desempenho do sistema e identificar possíveis gargalos relacionados ao uso de memória, e os dados retornados por ela são coletados por meio da análise do arquivo especial <strong>/proc/meminfo</strong>.</p>
<h2>Sintaxe básica do free</h2>
<pre><span style="color: #800080;"><strong>$ free [opções]</strong></span></pre>
<p>Se nós simplesmente executarmos o comando free sem usar nenhuma opção, será exibido um resumo das informações de memória. Vejamos um exemplo básico:</p>
<pre><strong>$ free</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>      total    usada   livre  compart. buff/cache disponível</strong></span>
<span style="color: #000000;"><strong>Mem:  16389832 4051232 807360 58464    11931240   11854436</strong></span>
<span style="color: #000000;"><strong>Swap: 2097148  1200    2095948</strong></span></pre>
<p>As principais colunas exibidas na saída do comando free são:</p>
<ul>
<li><strong>total</strong>: O total de memória RAM ou swap disponível (instalada) no sistema (obtida do arquivo /proc/meminfo).</li>
<li><strong>usada</strong>: A memória que está em uso atualmente (total &#8211; (livre + buffers + cache)).</li>
<li><strong>livre</strong>: Memória que está completamente livre e não está sendo utilizada.</li>
<li><strong>compart</strong>.: Memória usada por programas compartilhados (normalmente em ambientes gráficos).</li>
<li><strong>buff/cache</strong>: Memória usada para buffers e caches do sistema. Essa memória pode ser reutilizada por aplicativos se necessário.</li>
<li><strong>disponível</strong>: Memória efetivamente disponível para novos processos, considerando que parte da memória usada em cache pode ser liberada.</li>
</ul>
<p>E as linhas principais:</p>
<ul>
<li><strong>Mem.</strong>: Dados sobre a memória RAM física.</li>
<li><strong>Swap</strong>: Dados sobre a memória swap (área de troca no disco).</li>
</ul>
<h3>Opções comuns do comando free</h3>
<p>Algumas das opções mais usadas juntamente com o comando free incluem:</p>
<p><strong>-h</strong>: Exibe os valores em formato legível para humanos (valores em Ki, Mi, Gi, Ti, Pi).</p>
<pre><strong>$ free -h</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>      total usada livre compart. buff/cache disponível</strong></span>
Mem:  15Gi  3.8Gi 789Mi    57Mi  11Gi       11Gi
Swap: 2.0Gi 1.2Mi 2.0Gi</pre>
<p><strong>-b, -k, -m, -g</strong>: Permitem exibir os valores em bytes, kibibytes (Ki), mebibytes (Mi) ou gibibytes (Gi), respectivamente. Por exemplo, para exibir os resultados em MiB:</p>
<pre><strong>$ free -m</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>      total usada livre compart. buff/cache disponível</strong></span>
Mem:  16389 4051  807   58       11931      11854
Swap: 2047  1     2046</pre>
<p><strong>&#8211;tebi, &#8211;pebi</strong>: Exibir os valores em tebibytes (Ti) e pebibytes (Pi), respectivamente.</p>
<p><strong>&#8211;kilo, &#8211;mega, &#8211;giga, &#8211;tera, &#8211;peta</strong>: Mostrar os valores em bytes, kilobytes, megabytes, gigabytes, terabytes ou petabytes, respectivamente.</p>
<p><strong>&#8211;si</strong>: Usa kilo, mega, giga, tera, peta (potências de 10) em vez de kibi, mebi, tebi, pebi, que são potências de 2.</p>
<p><strong>-t: </strong>Exibe uma linha de total acumulado de memória RAM e swap (arquivo de troca).</p>
<pre><strong>$ free -t</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>       total usada livre compart. buff/cache disponível</strong></span>
Mem:   16389 4051  807   58       11931      11854
Swap:  2047  1     2046
Total: 18436 4052  2853</pre>
<p><strong>-s &lt;intervalo&gt;</strong>: Atualiza as informações de memória a cada intervalo especificado (em segundos).</p>
<pre><strong>$ free -s 2</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>      total usada livre compart. buff/cache disponível</strong></span>
Mem:  16389 4051  807   58       11931      11854
Swap: 2047  1     2046</pre>
<p>A saída será atualizada a cada 2 segundos. Para interromper, pressionamos Ctrl+C.</p>
<p><strong>-c &lt;n&gt;</strong>: Repete a saída gerada n vezes e depois para.</p>
<pre><strong>$ free -s 2 -c 3</strong></pre>
<p>Saída: A mesma do exemplo anterior., porém agora são exibidas 3 atualizações com intervalo de 2 segundos entre elas.</p>
<h2>Conclusão</h2>
<p>O comando free é uma ferramenta simples porém bastante útil para consultar e monitorar o uso de memória no Linux. Com ele podemos visualizar rapidamente informações sobre memória RAM, swap, buffers e caches do sistema.</p>
<p>Como vimos, também é possível personalizar a saída para diferentes unidades (como SI ou <a href="https://youtu.be/Dgq_JWV4sEY?si=pUxEkr4Z6lCF5UVT" target="_blank" rel="noopener">unidades binárias</a>) ou ainda monitorar a memória em tempo real, usando as várias opções disponíveis para o comando.</p>
<p>Para saber mais sobre as unidades de informação usadas em sistemas computacionais, como o que é um Kibibyte ou a diferença entre Megabyte e Mebibyte, assista ao vídeo a seguir da Bóson Treinamentos:</p>
<p><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/Dgq_JWV4sEY?si=pUxEkr4Z6lCF5UVT" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/exibir-informacoes-sobre-uso-da-memoria-com-comando-free-no-linux/">Exibir informações sobre uso da memória com comando free no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/exibir-informacoes-sobre-uso-da-memoria-com-comando-free-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ajustar a prioridade de processos no Linux com nice e renice</title>
		<link>https://www.bosontreinamentos.com.br/linux/ajustar-a-prioridade-de-processos-no-linux-com-nice-e-renice/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/ajustar-a-prioridade-de-processos-no-linux-com-nice-e-renice/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 21 Nov 2024 19:28:10 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20524</guid>

					<description><![CDATA[<p>Alterar prioridade de processos com nice e renice no Linux Os comandos nice e renice são usados para ajustar a prioridade de processos no Linux. Isso é especialmente útil para gerenciar o uso de CPU em sistemas onde múltiplos processos competem por recursos, ajudando a garantir que processos mais importantes tenham prioridade maior. O que são nice e renice? Comando nice Define a prioridade de um processo no momento em que ele é iniciado. O &#8220;nível de niceness&#8221; (valor de nice) indica o quão &#8220;agradável&#8221; o processo será em relação aos outros: Valores altos tornam o processo menos prioritário. Valores baixos tornam o processo mais prioritário. Comando renice O comando renice permite alterar a prioridade de processos que já estão em execução. Sintaxe básica nice: $ nice -n &#60;valor&#62; comando renice: $ renice &#60;valor&#62; -p &#60;PID&#62; Intervalo de valores de nice Os valores de &#8220;niceness&#8221; podem variar de -20 a 19: -20: Maior prioridade. 0: Prioridade padrão (valor padrão para a maioria dos processos). 19: Menor prioridade. Processos com valores de nice menores recebem mais tempo de CPU em relação a processos com valores maiores &#8211; ou seja, tem maior prioridade. Como verificar a prioridade de um processo? Podemos usar os comandos ps, top ou htop para verificar o valor de [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/ajustar-a-prioridade-de-processos-no-linux-com-nice-e-renice/">Ajustar a prioridade de processos no Linux com nice e renice</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Alterar prioridade de processos com nice e renice no Linux</h1>
<p>Os comandos <strong>nice</strong> e <strong>renice</strong> são usados para ajustar a prioridade de processos no Linux. Isso é especialmente útil para gerenciar o uso de CPU em sistemas onde múltiplos processos competem por recursos, ajudando a garantir que processos mais importantes tenham prioridade maior.</p>
<h2>O que são nice e renice?</h2>
<h3><strong>Comando nice</strong></h3>
<p>Define a prioridade de um processo no momento em que ele é iniciado. O &#8220;nível de niceness&#8221; (valor de <code>nice</code>) indica o quão &#8220;agradável&#8221; o processo será em relação aos outros:</p>
<ul>
<li>Valores altos tornam o processo <strong>menos prioritário</strong>.</li>
<li>Valores baixos tornam o processo <strong>mais prioritário</strong>.</li>
</ul>
<h3><strong>Comando renice</strong></h3>
<p>O comando renice permite alterar a prioridade de processos que já estão em execução.</p>
<h2>Sintaxe básica</h2>
<p><strong>nice</strong>:</p>
<pre><code>$ nice -n &lt;valor&gt; comando</code></pre>
<p><strong>renice</strong>:</p>
<pre><code>$ renice &lt;valor&gt; -p &lt;PID&gt;</code></pre>
<h2>Intervalo de valores de nice</h2>
<p>Os valores de &#8220;niceness&#8221; podem variar de <strong>-20 a 19</strong>:</p>
<ul>
<li><strong>-20:</strong> Maior prioridade.</li>
<li><strong>0:</strong> Prioridade padrão (valor padrão para a maioria dos processos).</li>
<li><strong>19:</strong> Menor prioridade.</li>
</ul>
<p>Processos com valores de <code>nice</code> menores recebem mais tempo de CPU em relação a processos com valores maiores &#8211; ou seja, tem maior prioridade.</p>
<h2>Como verificar a prioridade de um processo?</h2>
<p>Podemos usar os comandos <strong>ps,</strong> <strong>top</strong> ou <strong>htop</strong> para verificar o valor de <code>nice</code> de processos:</p>
<ol>
<li><strong>Com ps</strong>:
<pre><code>$ ps -eo pid,ni,cmd</code></pre>
<p>A coluna <strong>NI</strong> mostra o valor de <code>nice</code>.</p>
</li>
<li><strong>Com top</strong>:
<pre><code>$ top</code></pre>
<p>Localize a coluna <strong>NI</strong> para ver os valores de <code>nice</code>.</p>
</li>
<li><strong>Com htop</strong>:
<p>O <strong>htop</strong> também exibe a coluna de <code>nice</code> de forma interativa.</p>
</li>
</ol>
<h2>Exemplos do comando nice</h2>
<h3>Exemplo 1: Executar um processo com prioridade baixa</h3>
<pre><code>$ nice -n 10 tar -czf backup.tar.gz /home/fabio</code></pre>
<p>Este comando cria um arquivo <code>backup.tar.gz</code>, mas com prioridade menor (<code>nice = 10</code>), consumindo assim menos recursos do sistema caso o processo demore (por exemplo, se a pasta tiver milhares de arquivos).</p>
<h3>Exemplo 2: Executar um processo com prioridade alta (menos &#8220;agradável&#8221;)</h3>
<p>Para usar valores de <code>nice</code> menores que 0, é necessário ser superusuário:</p>
<pre><code>$ sudo nice -n -5 dd if=/dev/zero of=/dev/null</code></pre>
<p>Neste exemplo, o comando copia um fluxo infinito de bytes zero (<strong>/dev/zer</strong>o) para o &#8220;buraco negro&#8221; (<strong>/dev/null</strong>). Ele é executado com prioridade -5, o que significa que receberá mais tempo de CPU em relação a processos com prioridades padrão ou mais baixas.</p>
<p>Execute o comando em um terminal, e abra outra aba ou terminal para verificar o processo em execução. Use os comandos <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/">top</a> ou <a href="https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/">htop</a> para visualizar o processo gerado pelo comando dd, e perceba o valor de nice (coluna NI) que o processo está usando &#8211; no caso, será -5.</p>
<p>Para encerrar o dd. pressione Ctrl+C na aba onde ele está em execução.</p>
<p>Obs.:<br />
<strong>/dev/zero</strong>: dispositivo especial do sistema que fornece um fluxo infinito de bytes zero.<br />
<strong>/dev/null</strong>: dispositivo especial do sistema que descarta tudo que é escrito nele (&#8220;buraco negro&#8221;).</p>
<h2>Exemplos do comando renice</h2>
<h3>Exemplo 1: Alterar a prioridade de um processo em execução</h3>
<ol>
<li>Execute novamente o comando do exemplo anterior encontre o PID do processo (usando outra aba do terminal):
<pre><code>$ sudo nice -n -5 dd if=/dev/zero of=/dev/null 
$ ps aux | grep dd</code></pre>
</li>
<li>Verifique sua prioridade atual e a altere, por exemplo para 10:
<pre><code>$ top
$ renice 10 -p &lt;PID retornado anteriormente&gt; 
$ top</code></pre>
<p>Desta forma, o valor de <code>nice</code> do processo será alterado para <strong>10</strong>, tornando o processo menos prioritário.</p>
</li>
</ol>
<h3>Exemplo 2: Alterar a prioridade de todos os processos de um usuário</h3>
<pre><code>$ sudo renice -n 10 -u fabio</code></pre>
<p>Com este comando todos os processos do usuário <code>fabio</code> terão sua prioridade ajustada para <strong>10</strong>.</p>
<p>A seguir temos alguns exercícios para você treinar mais o emprego dos comandos nice e renice para alterar prioridades de execução de processos no Linux.</p>
<h2>Exercícios práticos</h2>
<ol>
<li>Execute um comando simples, como <code>sleep</code>, com um valor de <code>nice</code> igual a 15.</li>
<li>Use <code>renice</code> para alterar a prioridade do processo sleep em execução.</li>
<li>Liste todos os processos em execução e encontre os valores de <code>nice</code> associados a eles.</li>
<li>Crie um script que execute três comandos simultaneamente com diferentes valores de <code>nice</code> e os compare com <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/">ps</a>.</li>
<li>Altere a prioridade de todos os processos de um usuário específico, por exemplo o usuário mariana,  para um valor de <code>nice</code> igual a 12.</li>
</ol>
<h2>Resolução dos exercícios</h2>
<h3>1. Execute o comando sleep com nice igual a 15</h3>
<pre><code>$ nice -n 15 sleep 100</code></pre>
<p>Este comando executa o <code>sleep</code> com prioridade baixa.</p>
<h3>2. Use renice para alterar a prioridade de um processo</h3>
<ol>
<li>Encontre o PID do processo (use outra aba ou janela de terminal):
<pre><code>$ ps aux | grep sleep</code></pre>
</li>
<li>Altere sua prioridade:
<pre><code>$ sudo renice 5 -p &lt;PID&gt;</code></pre>
</li>
</ol>
<h3>3. Liste todos os processos e seus valores de nice</h3>
<pre><code>$ ps -eo pid,ni,cmd</code></pre>
<h3>4. Criar um script para comparar diferentes valores de nice</h3>
<pre><code>#!/bin/bash

echo "Iniciar processos com diferentes prioridades..."
nice -n 0 dd if=/dev/zero of=/dev/null &amp;
nice -n 10 dd if=/dev/zero of=/dev/null &amp;
nice -n 19 dd if=/dev/zero of=/dev/null &amp;
ps -eo pid,ni,cmd | grep dd
</code></pre>
<p>Salve o arquivo como <code>teste_nice.sh</code>, e o torne executável:</p>
<pre><code>$ chmod +x teste_nice.sh</code></pre>
<p>Execute o script para testar:</p>
<pre><code>./teste_nice.sh</code></pre>
<p>Para encerrar os processos no terminal podemos executar o comando kill -9 seguido do pid de cada um:</p>
<pre><strong>$ kill -9 &lt;pid&gt;</strong></pre>
<h3>5. Altere a prioridade de todos os processos de um usuário qualquer</h3>
<pre><code>sudo renice -n 12 -u mariana</code></pre>
<h2>Conclusão</h2>
<p>Os comandos <strong>nice</strong> e <strong>renice</strong> são ferramentas importantes para ajustar a prioridade de processos no Linux, permitindo que possamos controlar como os recursos da CPU são alocados.</p>
<p>Isso é especialmente útil em servidores e ambientes com carga alta, onde a gestão adequada de processos pode melhorar o desempenho do sistema. </p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/ajustar-a-prioridade-de-processos-no-linux-com-nice-e-renice/">Ajustar a prioridade de processos no Linux com nice e renice</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/ajustar-a-prioridade-de-processos-no-linux-com-nice-e-renice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exibir mensagens do kernel ring buffer no Linux com comando dmesg</title>
		<link>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/exibir-mensagens-do-kernel-ring-buffer-no-linux-com-comando-dmesg/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/exibir-mensagens-do-kernel-ring-buffer-no-linux-com-comando-dmesg/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 21 Nov 2024 18:40:39 +0000</pubDate>
				<category><![CDATA[Certificação LPIC-1]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20513</guid>

					<description><![CDATA[<p>Mensagens do kernel ring buffer no Linux com comando dmesg O comando dmesg (display message) é usado para exibir as mensagens do kernel ring buffer, que registra eventos do kernel, incluindo inicialização do sistema, detecção de hardware, mensagens de drivers, erros e outros eventos importantes. As mensagens retornadas pelo dmesg são bastante úteis para depurar problemas de hardware, drivers e inicialização do sistema. O que é o kernel ring buffer? O kernel ring buffer é uma área de memória no kernel do Linux usada para armazenar mensagens e eventos gerados pelo próprio kernel, podendo ser usado para monitorar o funcionamento interno do kernel e depurar problemas relacionados ao sistema. Essas mensagens incluem informações sobre: Detecção e configuração de hardware. Mensagens de drivers de dispositivos. Relatórios de erros ou alertas. Logs do processo de inicialização. Mensagens de depuração. É importante notar que o kernel ring buffer é uma área de memória volátil. Isso significa que as mensagens armazenadas nele não são gravadas em disco e serão perdidas após reinicializações, a menos que sejam salvas por serviços de logging como o syslog ou o journald. Vamos estudar agora o funcionamento do comando dmesg, começando pela sua sintaxe. Sintaxe básica do comando dmesg [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/exibir-mensagens-do-kernel-ring-buffer-no-linux-com-comando-dmesg/">Exibir mensagens do kernel ring buffer no Linux com comando dmesg</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Mensagens do kernel ring buffer no Linux com comando dmesg</h1>
<p>O comando dmesg (<em>display message</em>) é usado para exibir as mensagens do kernel ring buffer, que registra eventos do kernel, incluindo inicialização do sistema, detecção de hardware, mensagens de drivers, erros e outros eventos importantes.</p>
<p>As mensagens retornadas pelo dmesg são bastante úteis para depurar problemas de hardware, drivers e inicialização do sistema.</p>
<h3>O que é o kernel ring buffer?</h3>
<p>O kernel ring buffer é uma área de memória no kernel do Linux usada para armazenar mensagens e eventos gerados pelo próprio kernel, podendo ser usado para monitorar o funcionamento interno do kernel e depurar problemas relacionados ao sistema.</p>
<p>Essas mensagens incluem informações sobre:</p>
<ul>
<li>Detecção e configuração de hardware.</li>
<li>Mensagens de drivers de dispositivos.</li>
<li>Relatórios de erros ou alertas.</li>
<li>Logs do processo de inicialização.</li>
<li>Mensagens de depuração.</li>
</ul>
<p>É importante notar que o kernel ring buffer é uma área de memória volátil. Isso significa que as mensagens armazenadas nele não são gravadas em disco e serão perdidas após reinicializações, a menos que sejam salvas por serviços de logging como o syslog ou o journald.</p>
<p>Vamos estudar agora o funcionamento do comando dmesg, começando pela sua sintaxe.</p>
<h2>Sintaxe básica do comando dmesg</h2>
<pre><span style="color: #800080;"><strong>$ dmesg [opções]</strong></span></pre>
<p>Quando executado sem opções, o dmesg exibe todas as mensagens do kernel em ordem cronológica.</p>
<h3>Estrutura da saída do dmesg</h3>
<p>A saída típica da execução do comando dmesg é composta por mensagens como estas:</p>
<pre><span style="color: #000000;"><strong>[ 0.000000] Linux version 5.15.0-50-generic (buildd@lcy02-amd64) ...</strong></span>
<span style="color: #000000;"><strong>[ 0.002000] ACPI: RSDP 0x000000007FEE0000 000024 (v02 INTEL )</strong></span>
<span style="color: #000000;"><strong>[ 0.002050] ACPI: XSDT 0x000000007FEE0100 000074 (v01 INTEL D945GCLF 00000001 INTL 20091013)</strong></span>
<span style="color: #000000;"><strong>[ 0.012345] PCI: Using configuration type 1 for IO mapping</strong></span></pre>
<p>Nesta saída podemos identificar dois componentes da saída, um em cada coluna:</p>
<ol>
<li><strong>Marcador de tempo</strong> ([ 0.000000]): Tempo desde a inicialização do sistema (em segundos e frações).</li>
<li><strong>Mensagem do kernel</strong>: Detalhes sobre eventos do sistema, como detecção de hardware ou inicialização de drivers.</li>
</ol>
<p>Vejamos agora algumas das principais opções disponíveis no dmesg.</p>
<h3>Principais opções do dmesg</h3>
<h4><strong>-H ou &#8211;human</strong></h4>
<p>Exibe o tempo em formato legível para humanos, com rolagem de paginação.</p>
<pre><strong>$ dmesg -H</strong></pre>
<div id="attachment_20558" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-20558" class="wp-image-20558 size-large" title="Saída do comando dmesg no Linux" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-linux-1024x356.jpg" alt="Saída do comando dmesg no Linux" width="1024" height="356" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-linux-1024x356.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-linux-420x146.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-linux-768x267.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-linux.jpg 1301w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-20558" class="wp-caption-text">Saída do comando <strong>dmesg -H</strong> no Linux</p></div>
<h4><strong>-T, &#8211;ctime</strong></h4>
<p>Converte os marcadores de tempo (timestamps) para formato de data e hora. </p>
<p><strong>-l</strong> ou <strong>&#8211;level</strong>: Permite filtrar as mensagens por nível de prioridade, recebendo um dos seguintes valores como argumento:</p>
<ul>
<li>emerg: Emergência.</li>
<li>alert: Alerta.</li>
<li>crit: Crítico.</li>
<li>err: Erro.<br />
warn: Aviso.</li>
<li>notice: Notificação.</li>
<li>info: Informações gerais.</li>
<li>debug: Mensagens de depuração.</li>
</ul>
<p>Exemplo: Exibir apenas erros:</p>
<pre><strong>$ dmesg -l err</strong></pre>
<div id="attachment_20559" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-20559" class="wp-image-20559 size-large" title="Saída do comando dmesg -l err no Linux" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-erro-linux-1024x53.jpg" alt="Saída do comando dmesg -l err no Linux" width="1024" height="53" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-erro-linux-1024x53.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-erro-linux-420x22.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-erro-linux-768x40.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-erro-linux.jpg 1207w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-20559" class="wp-caption-text">Saída do comando <strong>dmesg -l err</strong> no Linux</p></div>
<h4><strong>&#8211;since &lt;tempo&gt;</strong></h4>
<p>A opção &#8211;since permite exibir as mensagens do kernel desde um momento específico. Por exemplo, se quisermos verificar as mensagens nos últimos dois minutos:</p>
<pre><strong>$ dmesg --since "2 minutes ago"</strong></pre>
<p>A opção <strong>&#8211;since</strong> aceita vários formatos de tempo, desde datas completas até intervalos relativos. Alguns dos formatos mais comuns aceitos são os seguintes:</p>
<p>Data completa no formato: AAAA-MM-DD HH:MM:SS. Exemplo:</p>
<pre><strong>$ dmesg --since "2024-11-01 14:30:00"</strong></pre>
<p>Somente a hora no formato HH:MM:SS. Exemplo:</p>
<pre><strong>$ dmesg --since "14:30:00"</strong></pre>
<p>Somente datas, no formato AAAA-MM-DD. Exemplo:</p>
<pre><strong>$ dmesg --since "2024-11-01"</strong></pre>
<p>Intervalos relativos, com expressões como &lt;n&gt; seconds ago, &lt;n&gt; minutes ago, &lt;n&gt; hours ago, &lt;n&gt; days ago, etc.. Exemplo:</p>
<pre><strong>dmesg --since "5 minutes ago"</strong></pre>
<p>Combinação de data e hora relativas, no formato yesterday, today, ou now, com modificadores. Exemplo:</p>
<pre><strong>dmesg --since "yesterday 18:00"</strong></pre>
<p>Além dessas, existem outras opções de formatos que podem ser consultadas nas páginas de manual do dmesg.</p>
<h4><strong>&#8211;follow</strong></h4>
<p>Exibir as mensagens que estão sendo geradas em tempo real. No exemplo abaixo, inserimos um DVD no drive da máquina após executar o dmesg com essa opção, e visualizamos a mídia sendo reconhecida:</p>
<div id="attachment_20564" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-20564" class="wp-image-20564 size-large" title="dmesg capturando a inserção de um DVD no drive da máquina" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-inserir-DVD-linux-1024x130.png" alt="dmesg capturando a inserção de um DVD no drive da máquina" width="1024" height="130" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-inserir-DVD-linux-1024x130.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-inserir-DVD-linux-420x53.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-inserir-DVD-linux-768x98.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-inserir-DVD-linux.png 1360w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-20564" class="wp-caption-text">Comando <strong>dmesg &#8211;follow</strong> capturando a inserção de um DVD no drive da máquina. Note a detecção do sistema de arquivos ISO 9660 (para mídia de disco óptico).</p></div>
<p>Para interromper, pressionamos <strong>Ctrl+C</strong> no teclado.</p>
<h4><strong>&#8211;facility</strong></h4>
<p>A opção <strong><em>facility</em></strong> nos permite filtrar as mensagens por subsistema, como hardware ou drivers.</p>
<h4><em>O que são subsistemas no Linux?</em></h4>
<p>Um <strong>subsistema</strong> é uma parte específica do sistema operacional que lida com um conjunto particular de funcionalidades ou responsabilidades. Cada subsistema gera mensagens relacionadas a seus eventos, operações ou erros, que são registradas no kernel ring buffer.</p>
<p>Os valores possíveis para a opção &#8211;facility são os seguintes:</p>
<ul>
<li><strong>auth</strong>: Mensagens relacionadas a autenticação de usuários ou sistemas.<br />
Inclui eventos de login/logout.</li>
<li><strong>authpriv</strong>: Mensagens de autenticação que incluem informações confidenciais (por exemplo, IPs ou falhas de login).</li>
<li><strong>cron</strong>: Logs relacionados a tarefas agendadas (ex.: cron, at).</li>
<li><strong>daemon</strong>: Mensagens provenientes de daemons (processos em segundo plano).</li>
<li><strong>kern</strong>: Mensagens do kernel.<br />
Inclui logs de inicialização, detecção de hardware e eventos de drivers.</li>
<li><strong>lpr</strong>: Logs relacionados a serviços de impressão.</li>
<li><strong>mail</strong>: Logs de serviços de e-mail (ex.: Postfix, Sendmail).</li>
<li><strong>news</strong>: Logs de serviços relacionados a distribuição de notícias (geralmente obsoletos).</li>
<li><strong>syslog</strong>: Logs gerados pelo próprio sistema de logging (syslogd ou equivalente).</li>
<li><strong>user</strong>: Logs relacionados a aplicativos de usuários.</li>
<li><strong>uucp</strong>: Logs do sistema UUCP (Unix-to-Unix Copy Protocol), geralmente obsoletos.</li>
<li><strong>**local0</strong> a <strong>local7</strong>: Categorias personalizáveis para mensagens de aplicativos ou subsistemas definidos pelo administrador.</li>
</ul>
<p>Exemplo &#8211; exibir mensagens relacionadas ao kernel:</p>
<pre><strong>$ dmesg --facility=kern</strong></pre>
<p>Também é possível filtrar mais de um subsistema de uma vez, separando os valores por vírgulas. Por exemplo:</p>
<pre><strong>$ dmesg --facility=kern,syslog</strong></pre>
<p>Este comando exibe mensagens relacionadas ao kernel e a logs gerados pelo sistema de logging.</p>
<h4>-C, &#8211;clear</h4>
<p>A opção -C permite limpar o buffer de anel do kernel.</p>
<p>Além de usar essas e outras opções disponíveis com o dmesg, também podemos combinar a saída gerada por essa ferramenta com outros utilitário do sistema. Por exemplo, podemos filtrar as mensagens usando um filtro como o grep. Exemplo a seguir.</p>
<h4>Filtrar as mensagens relacionadas a dispositivos USB</h4>
<pre><strong>$ dmesg | grep usb</strong></pre>
<div id="attachment_20563" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-20563" class="wp-image-20563 size-large" title="FIltrar mensagens relacionadas a USB com dmesg" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-usb-linux-1024x212.png" alt="FIltrar mensagens relacionadas a USB com dmesg" width="1024" height="212" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-usb-linux-1024x212.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-usb-linux-420x87.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-usb-linux-768x159.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/dmesg-usb-linux.png 1356w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-20563" class="wp-caption-text">Filtrar mensagens relacionadas a USB com dmesg</p></div>
<p>A seguir temos alguns exercícios práticos para você treinar um pouco o uso do comando dmesg no Linux. Resoluções se encontram logo após os exercícios.</p>
<h2>Exercícios práticos com dmesg</h2>
<p>1. Use o dmesg para exibir apenas mensagens relacionadas a dispositivos de rede.<br />
2. Identifique mensagens de aviso geradas pelo kernel.<br />
3. Acompanhe as mensagens do kernel em tempo real e conecte/desconecte um dispositivo USB para verificar os logs.<br />
4. Exiba todas as mensagens relacionadas ao subsistema de processos em segundo plano (daemon).<br />
5. Crie um script que utilize o comando dmesg e interaja com o usuário para filtrar mensagens do kernel com base em uma palavra-chave fornecida.</p>
<h3>Resolução dos exercícios</h3>
<p><strong>1. Exibir mensagens relacionadas a dispositivos de rede (&#8216;net&#8221;)</strong></p>
<pre><strong>$ dmesg | grep -i net</strong></pre>
<p><strong>2. Identificar mensagens de aviso geradas pelo kernel</strong></p>
<pre><strong>$ dmesg -l warn</strong></pre>
<p><strong>3. Acompanhar mensagens do kernel em tempo real e verificar logs ao conectar um dispositivo USB</strong></p>
<pre><strong>$ dmesg --follow</strong></pre>
<p>Conecte um dispositivo USB e veja as mensagens sendo geradas em tempo real.</p>
<p>#4. Exibir todas as mensagens relacionadas ao subsistema daemon</p>
<pre><strong>$ dmesg --facility=daemon</strong></pre>
<p>5. Script para filtrar mensagens com base em palavra-chave</p>
<p>a. Crie um script de nome <strong>verifica_palavras.sh</strong> com seu editor de textos preferido e o conteúdo a seguir:</p>
<p>&nbsp;</p>
<pre><strong>#!/bin/bash</strong>
<strong># Exibe uma mensagem inicial para o usuário</strong>
<strong>echo "Bem-vindo ao analisador de logs do kernel!"</strong>
<strong>echo "Este script permite filtrar mensagens do kernel baseadas em uma palavra-chave."</strong>
<strong>echo ""</strong>
<strong># Solicita que o usuário insira uma palavra-chave para filtrar mensagens</strong>
<strong>read -p "Digite uma palavra-chave para buscar no log do kernel (ex.: usb, disk, error): " palavra</strong>
<strong># Verifica se o usuário inseriu uma palavra-chave</strong>
<strong>if [ -z "$palavra" ]; then</strong>
<strong>  echo "Você não digitou nenhuma palavra-chave. Encerrando o script."</strong>
<strong>  exit 1</strong>
<strong>fi</strong>
<strong># Usa o comando dmesg para filtrar mensagens que correspondem à palavra-chave</strong>
<strong>echo ""</strong>
<strong>echo "Buscando por mensagens do kernel contendo a palavra-chave '$keyword'..."</strong>
<strong>echo ""</strong>
<strong>dmesg | grep -i "$palavra"</strong>
<strong># Verifica se o comando anterior encontrou resultados</strong>
<strong>if [ $? -ne 0 ]; then</strong>
<strong>  echo ""</strong>
<strong>  echo "Nenhuma mensagem do kernel encontrada para a palavra-chave '$palavra'."</strong>
<strong>else</strong>
<strong>  echo ""</strong>
<strong>  echo "Busca concluída."</strong>
<strong>fi</strong>
<strong># Finaliza o script</strong>
<strong>echo "Obrigado por usar o analisador de logs do kernel!"</strong>
<strong>exit 0</strong></pre>
<p>b. Torne o script executável:</p>
<pre><strong>$ chmod +x verifica_palavras.sh</strong></pre>
<p>c. Execute o script para testar, fornecendo uma palavra chave como <em><strong>disk</strong></em> ou <em><strong>usb</strong></em>:</p>
<pre><strong>$ ./verifica_palavras.sh</strong></pre>
<h2>Conclusão</h2>
<p>O comando dmesg é uma ferramenta importante e bastante útil para monitorar eventos do sistema Linux em nível de kernel. Ele é usado para solucionar problemas de hardware, drivers e inicialização. Também permite que os administradores de sistemas analisem e depurem rapidamente os logs do kernel, de modo a solucionar problemas de forma eficiente e simplificada. </p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/exibir-mensagens-do-kernel-ring-buffer-no-linux-com-comando-dmesg/">Exibir mensagens do kernel ring buffer no Linux com comando dmesg</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/exibir-mensagens-do-kernel-ring-buffer-no-linux-com-comando-dmesg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Monitoramento de processos no Linux com comando htop</title>
		<link>https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 19 Nov 2024 19:51:22 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20518</guid>

					<description><![CDATA[<p>Como monitorar processos no Linux com comando htop O htop é uma ferramenta interativa para monitoramento de processos no Linux. Ele oferece uma interface amigável que exibe informações detalhadas sobre processos, consumo de recursos como CPU e memória, e permite interagir com os processos de forma intuitiva. Por que usar o htop? O utilitário htop possui diversas vantagens em relação ao tradicional utilitário top, incluindo: Apresenta uma interface visual fácil de usar, com barras de uso de CPU e memória. É uma versão mais amigável do top. Possui mais recursos que o comando top, como por exemplo suporte a mouse e ordenação interativa. Permite gerenciar processos diretamente, como matar ou renomear processos. A ferramenta htop está disponível para Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, MacOS e Solaris, e sua página de desenvolvimento oficial é https://htop.dev/. Instalação do htop Em algumas distribuições e sistemas, o htop não vem pré-instalado. Podemos usar os seguintes comandos para instalá-lo: Debian/Ubuntu: sudo apt install htop Fedora: sudo dnf install htop Arch Linux: sudo pacman -S htop macOS: brew install htop FreeBSD: sudo pkg install htop Como usar o htop Para iniciar o htop, basta executar: $ sudo htop Interface do htop Ao iniciar, o htop exibe as informações divididas em três seções [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/">Monitoramento de processos no Linux com comando htop</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Como monitorar processos no Linux com comando htop</h1>
<p>O <strong>htop</strong> é uma ferramenta interativa para monitoramento de processos no Linux. Ele oferece uma interface amigável que exibe informações detalhadas sobre processos, consumo de recursos como CPU e memória, e permite interagir com os processos de forma intuitiva.</p>
<h2>Por que usar o htop?</h2>
<p>O utilitário htop possui diversas vantagens em relação ao tradicional <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/">utilitário top</a>, incluindo:</p>
<ul>
<li>Apresenta uma interface visual fácil de usar, com barras de uso de CPU e memória. É uma versão mais amigável do top.</li>
<li>Possui mais recursos que o comando <strong>top</strong>, como por exemplo suporte a mouse e ordenação interativa.</li>
<li>Permite gerenciar processos diretamente, como matar ou renomear processos.</li>
</ul>
<p>A ferramenta htop está disponível para Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, MacOS e Solaris, e sua página de desenvolvimento oficial é <a href="https://htop.dev/" target="_blank" rel="noopener">https://htop.dev/</a>.</p>
<h2>Instalação do htop</h2>
<p>Em algumas distribuições e sistemas, o <strong>htop</strong> não vem pré-instalado. Podemos usar os seguintes comandos para instalá-lo:</p>
<ul>
<li><strong>Debian/Ubuntu:</strong> <code>sudo apt install htop</code></li>
<li><strong>Fedora:</strong> <code>sudo dnf install htop</code></li>
<li><strong>Arch Linux:</strong> <code>sudo pacman -S htop</code></li>
<li><strong>macOS</strong>: <code>brew install htop</code></li>
<li><strong>FreeBSD</strong>: <code>sudo pkg install htop</code></li>
</ul>
<h2>Como usar o htop</h2>
<p>Para iniciar o <strong>htop</strong>, basta executar:</p>
<pre><code>$ sudo htop</code></pre>
<h2>Interface do htop</h2>
<p>Ao iniciar, o <strong>htop</strong> exibe as informações divididas em três seções principais:</p>
<h3><strong>1 &#8211; Cabeçalho</strong></h3>
<p>Mostra o uso da CPU, memória, e swap com barras coloridas, além do número de tarefas, carga média do sistema e uptime. Exemplo:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-20552" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-cabecalho-linux-1024x85.jpg" alt="Cabeçalho da aplicação htop no Linux" width="1024" height="85" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-cabecalho-linux-1024x85.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-cabecalho-linux-420x35.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-cabecalho-linux-768x63.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-cabecalho-linux.jpg 1248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Aqui temos:</p>
<p><strong>CPU: </strong>Representa o uso das CPUs do sistema. Geralmente é exibido como barras de progresso para cada núcleo, mostrando:</p>
<ul>
<li>Uso do usuário (verde ou azul): Tempo gasto em processos de usuários.</li>
<li>Uso do sistema (vermelho): Tempo gasto em tarefas do kernel.</li>
<li>Ocioso (preto ou vazio): Tempo em que a CPU está inativa.</li>
</ul>
<p><strong>Mem: </strong>Refere-se ao uso da memória RAM do sistema. Exibe a memória total, usada, livre e buffers/cache.</p>
<p>Na figura acima temos que 1,05 GB de RAM estão sendo usados de um total de 3,02 GB.</p>
<p><strong>Swp: </strong>Representa o uso da memória de swap. Mostra a memória total de swap, usada e livre.</p>
<p><strong>Tasks: </strong>Exibe o número total de tarefas (processos) e o status delas. Inclui:</p>
<ul>
<li>Total de tarefas.</li>
<li>Processos em execução.</li>
<li>Processos em estado de espera.</li>
</ul>
<p>No exemplo, existem 103 processos ativos, 294 threads e 1 processo em execução.</p>
<p><strong>Load Average: </strong>Mostra a média de carga do sistema nos últimos 1, 5 e 15 minutos. Valores elevados indicam que muitos processos estão competindo por recursos.</p>
<p><strong>Uptime: </strong>Indica o tempo total que o sistema está em execução desde a última inicialização. Geralmente exibido no formato dias:horas:minutos.</p>
<p>No exemplo, temos que o sistema está ativo há apenas 07 minutos e 30 segundos.</p>
<h3><strong style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">2 &#8211; Lista de processos</strong></h3>
<p>Exibe os processos em execução no sistema com diversas informações em várias colunas. Exemplo de saída:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-20553" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux-1024x316.jpg" alt="Lista de processos do htop no Linux" width="1024" height="316" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux-1024x316.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux-420x130.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux-768x237.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux-1536x474.jpg 1536w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-lista-processos-linux.jpg 1569w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>As colunas são:</p>
<p><strong>PID</strong>: Número de identificação do processo.</p>
<p><strong>USER</strong>: Usuário que iniciou o processo (seu proprietário).</p>
<p><strong>PR</strong>: Prioridade do processo. Quanto menor o valor, maior a prioridade</p>
<p><strong>NI</strong>: Valor &#8220;nice&#8221; do processo, que afeta sua prioridade de execução.</p>
<p><strong>VIRT</strong>: Quantidade de memória virtual usada pelo processo.</p>
<p><strong>RES</strong>: Quantidade de memória RAM física usada pelo processo, em kilobytes.</p>
<p><strong>SHR</strong>: Quantidade de memória compartilhada que o processo está usando.</p>
<p><strong>S</strong>: Status do processo, como Em Execução, Parado, Zumbi, Dormindo, Rastreado, etc.)</p>
<p><strong>%CPU</strong>: Porcentagem de uso de CPU pelo processo.</p>
<p><strong>%MEM</strong>: Porcentagem de uso de memória RAM (física) pelo processo.</p>
<p><strong>TIME+</strong>: Quanto tempo de processamento o processo já usou (cumulativo)</p>
<p><strong>COMMAND</strong>: Nome do comando ou programa que iniciou o processo.</p>
<h3><strong>3 &#8211; Rodapé</strong></h3>
<p>Exibe as teclas de função disponíveis para interagir com os processos, como mostra o exemplo abaixo.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-20554" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-rodape-atalhos-linux-1024x36.jpg" alt="Rodapé do htop no Linux" width="1024" height="36" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-rodape-atalhos-linux-1024x36.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-rodape-atalhos-linux-420x15.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-rodape-atalhos-linux-768x27.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/11/htop-rodape-atalhos-linux.jpg 1131w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>A tabela abaixo mostra as teclas de acesso do rodapé do utilitário htop, com a descrição sucinta de cada uma delas:</p>
<table style="width: 41.6733%;" border="1">
<thead>
<tr>
<th style="width: 10.087%;">Tecla</th>
<th style="width: 88.5217%;">Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 10.087%;">F1</td>
<td style="width: 88.5217%;">Exibe a ajuda.</td>
</tr>
<tr>
<td style="width: 10.087%;">F2</td>
<td style="width: 88.5217%;">Configurações do <strong>htop</strong>, como colunas visíveis e cores.</td>
</tr>
<tr>
<td style="width: 10.087%;">F3</td>
<td style="width: 88.5217%;">Busca um processo pelo nome ou comando.</td>
</tr>
<tr>
<td style="width: 10.087%;">F4</td>
<td style="width: 88.5217%;">Aplica um filtro para exibir apenas processos que correspondem ao filtro.</td>
</tr>
<tr>
<td style="width: 10.087%;">F5</td>
<td style="width: 88.5217%;">Exibe os processos em formato de árvore (relação pai-filho).</td>
</tr>
<tr>
<td style="width: 10.087%;">F6</td>
<td style="width: 88.5217%;">Ordena os processos por uma coluna (ex.: %CPU, %MEM, PID).</td>
</tr>
<tr>
<td style="width: 10.087%;">F7</td>
<td style="width: 88.5217%;">Diminui o valor de Nice do processo</td>
</tr>
<tr>
<td style="width: 10.087%;">F8</td>
<td style="width: 88.5217%;">Aumenta o valor de Nice do processo</td>
</tr>
<tr>
<td style="width: 10.087%;">F9</td>
<td style="width: 88.5217%;">Mata (kill) um processo selecionado.</td>
</tr>
<tr>
<td style="width: 10.087%;">F10</td>
<td style="width: 88.5217%;">Sai do <strong>htop</strong>.</td>
</tr>
<tr>
<td style="width: 10.087%;">Setas</td>
<td style="width: 88.5217%;">Navegação na lista de processos.</td>
</tr>
<tr>
<td style="width: 10.087%;">Espaço</td>
<td style="width: 88.5217%;">Seleciona/deseleciona um processo para ações em grupo.</td>
</tr>
</tbody>
</table>
<p>Vejamos alguns exemplos de uso do htop agora.</p>
<h2>Exemplos práticos</h2>
<p><strong>1 &#8211; Listar todos os processos:</strong></p>
<p><code>$ sudo htop</code></p>
<p>Observe os processos em execução, organizados pela utilização de CPU por padrão.</p>
<p><strong>2 &#8211; Ordenar processos pelo uso de memória:</strong></p>
<pre>Pressione <strong>F6</strong> e escolha <strong>%MEM</strong> na lista de colunas disponíveis.</pre>
<p><strong>3 &#8211; Exibir processos em formato de árvore</strong></p>
<pre>Pressione <strong>F5 </strong>para alternar para a exibição em formato de árvore</pre>
<p>Isso ajuda a visualizar a hierarquia de processos (processos pai e filhos).</p>
<p><strong>4 &#8211; Buscar um processo específico</strong></p>
<pre>Pressione <strong>F3</strong> e digite o nome do processo (ex.: <strong>bash</strong>). </pre>
<p>Digite o nome ou parte do comando do processo que deseja localizar (ex.: &#8220;bash&#8221;).</p>
<p><strong>5 &#8211; Matar (kill) um processo</strong></p>
<pre>Selecione o processo usando as setas e pressione <strong>F9</strong>.
Escolha o sinal para enviar (por padrão, SIGTERM).            </pre>
<p><strong>6 &#8211; Filtrar processos</strong></p>
<ol>
<li>Pressione a tecla F4.</li>
<li>Digite parte do nome ou comando do processo (por ex.: python).</li>
<li>O htop exibirá apenas processos que correspondem ao filtro.</li>
</ol>
<p>Muito bom. Na sequência, liso alguns exercícios sobre o comando htop para você treinar um pouco mais seu uso. A resolução sugerida de cada um se encontra logo após a listagem.</p>
<h2>Exercícios: Comando htop</h2>
<ol>
<li>Use o <strong>htop</strong> para listar todos os processos em execução e identifique o processo com maior uso de CPU.</li>
<li>Altere a visualização para o formato de árvore e identifique o processo pai do <strong>bash</strong>.</li>
<li>Ordene os processos pelo uso de memória e localize o processo que está consumindo mais memória.</li>
<li>Encontre o processo do <strong>htop</strong> em execução usando a função de busca.</li>
<li>Mate um processo específico, como o <strong>sleep</strong>, iniciado manualmente no terminal.</li>
</ol>
<h2>Resolução dos exercícios</h2>
<ol>
<li><strong>Listar todos os processos e identificar o maior consumidor de CPU:</strong>
<pre><code>$ sudo htop</code></pre>
</li>
<li><strong>Alterar para o formato de árvore e identificar o processo pai do bash:</strong>
<pre>Pressione <strong>F5</strong>.</pre>
</li>
<li><strong>Ordenar por uso de memória e identificar o maior consumidor:</strong>
<pre>Pressione <strong>F6</strong> e escolha <strong>%MEM</strong>.</pre>
</li>
<li><strong>Encontrar o processo do htop em execução:</strong>
<pre>Pressione <strong>F3</strong> e digite <strong>htop</strong>.</pre>
</li>
<li><strong>Matar um processo específico:</strong>
<pre>Inicie um processo de teste com <code>sleep 300</code>, localize-o no <strong>htop</strong> e pressione <strong>F9</strong>.</pre>
</li>
</ol>
<h2>Conclusão</h2>
<p>O <strong>htop</strong> é uma ferramenta avançada e interativa para monitoramento e gerenciamento de processos no Linux. Com uma interface fácil de usar e funcionalidades adicionais em relação ao <strong>top</strong>, ele é bastante útil para administradores de sistemas e usuários avançados. </p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/">Monitoramento de processos no Linux com comando htop</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Monitorar uso de recursos do sistema com comando top no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 19 Nov 2024 18:26:59 +0000</pubDate>
				<category><![CDATA[Certificação LPIC-1]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20509</guid>

					<description><![CDATA[<p>Como monitorar o uso de recursos e processos do sistema com comando top no Linux O comando top no Linux é uma ferramenta empregada para monitorar o uso de recursos do sistema em tempo real, como CPU, memória, e processos. Ele é muito utilizado para identificar gargalos de desempenho e gerenciar processos. O que é o comando top? O utilitário top exibe informações dinâmicas sobre os processos em execução, incluindo: Percentual de uso da CPU. Consumo de memória. Estado dos processos (em execução, dormindo, etc.). Tempo de execução de processos. Sua saída é atualizada automática e periodicamente, oferecendo assim uma visão instantânea e contínua do desempenho do sistema. Sintaxe do top A sintaxe básica do comando top é como segue: top [opções] Simplesmente executar top no terminal já exibe o painel de monitoramento em tempo real. Vejamos como interpretar a interface de saída do comando. Interface do top 1. Cabeçalho do sistema Informações gerais sobre o estado do sistema. Saída típica: top - 10:00:01 up 1 day, 5:30, 3 users, load average: 0.05, 0.10, 0.15 Aqui temos: Hora atual (10:00:01). Tempo desde o último boot (1 dia, 5:30). 3 Usuários logados (3 users). Load average: Média de carga da CPU [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/">Monitorar uso de recursos do sistema com comando top no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Como monitorar o uso de recursos e processos do sistema com comando top no Linux</h2>
<p>O comando top no Linux é uma ferramenta empregada para monitorar o uso de recursos do sistema em tempo real, como CPU, memória, e processos. Ele é muito utilizado para identificar gargalos de desempenho e gerenciar processos.</p>
<h2>O que é o comando top?</h2>
<p>O utilitário top exibe informações dinâmicas sobre os processos em execução, incluindo:</p>
<ul>
<li>Percentual de uso da CPU.</li>
<li>Consumo de memória.</li>
<li>Estado dos processos (em execução, dormindo, etc.).</li>
<li>Tempo de execução de processos.</li>
</ul>
<p>Sua saída é atualizada automática e periodicamente, oferecendo assim uma visão instantânea e contínua do desempenho do sistema.</p>
<h2>Sintaxe do top</h2>
<p>A sintaxe básica do comando top é como segue:</p>
<pre><span style="color: #800080;"><strong>top [opções]</strong></span></pre>
<p>Simplesmente executar top no terminal já exibe o painel de monitoramento em tempo real. Vejamos como interpretar a interface de saída do comando.</p>
<h3>Interface do top</h3>
<h4>1. Cabeçalho do sistema</h4>
<p>Informações gerais sobre o estado do sistema.</p>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>top - 10:00:01 up 1 day, 5:30, 3 users, load average: 0.05, 0.10, 0.15</strong></span></pre>
<p>Aqui temos:</p>
<ul>
<li>Hora atual (10:00:01).</li>
<li>Tempo desde o último boot (1 dia, 5:30).</li>
<li>3 Usuários logados (3 users).</li>
<li>Load average: Média de carga da CPU nos últimos 1, 5 e 15 minutos.</li>
</ul>
<h4>2. Resumo dos recursos do sistema</h4>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>Tarefas: 125 total, 2 em exec, 123 dormindo, 0 parado, 0 zumbi</strong></span>
<span style="color: #000000;"><strong>%Cpu(s): 3.0 us, 2.0 sy, 0.0 ni, 95.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st</strong></span>
<span style="color: #000000;"><strong>KiB Mem : 4048572 total, 2048572 used, 2000000 free, 512000 buffers</strong></span>
<span style="color: #000000;"><strong>KiB Swap: 2097148 total, 104857 used, 1992291 free. 1024000 cached Mem</strong></span></pre>
<p>Vamos interpretar a saída desse comando de forma detalhada.</p>
<p><strong>Linha 01: Tarefas (Informações sobre as tarefas/processos)</strong></p>
<ul>
<li>125 total: Número total de tarefas (processos) no sistema.</li>
<li>2 em exec: Quantidade de tarefas que estão em execução ativa no momento.</li>
<li>123 dormindo: Processos que estão aguardando eventos ou recursos para continuar.</li>
<li>0 parado: Nenhum processo está parado (suspenso manualmente).</li>
<li>0 zumbi: Não há processos zumbis. Um processo zumbi ocorre quando ele terminou a execução, mas o pai ainda não leu seu status.</li>
</ul>
<p><strong>Linha 02: %Cpu(s) (Utilização da CPU)</strong></p>
<p>Os campos indicam como o tempo da CPU está sendo gasto:</p>
<ul>
<li>3.0 us: Percentual de tempo gasto em processos de usuários (não relacionados ao kernel).</li>
<li>2.0 sy: Percentual de tempo gasto em processos do sistema (kernel).</li>
<li>0.0 ni: Percentual de tempo gasto em processos com prioridade alterada (nice).</li>
<li>95.0 id: Percentual de tempo em que a CPU está ociosa.</li>
<li>0.0 wa: Percentual de tempo em que a CPU está esperando por I/O (leitura ou gravação em disco, por exemplo).</li>
<li>0.0 hi: Percentual de tempo gasto atendendo interrupções de hardware.</li>
<li>0.0 si: Percentual de tempo gasto atendendo interrupções de software.</li>
<li>0.0 st: Percentual de tempo &#8220;roubado&#8221; por máquinas virtuais (caso esteja rodando em um hypervisor).</li>
</ul>
<p><strong>Linha 03: KiB Mem (Uso da Memória RAM)</strong></p>
<ul>
<li>4048572 total: Memória RAM total disponível no sistema (em KiB).</li>
<li>2048572 used: Quantidade de memória RAM usada no momento.</li>
<li>2000000 free: Memória RAM não utilizada no momento.</li>
<li>512000 buffers: Memória usada para buffers, que armazena temporariamente dados em trânsito para dispositivos como discos ou redes.</li>
</ul>
<p><strong>Linha 04: KiB Swap (Uso da memória Swap)</strong></p>
<ul>
<li>2097148 total: Tamanho total do espaço de swap configurado (em KiB).</li>
<li>104857 used: Quantidade de espaço de swap atualmente usada.</li>
<li>1992291 free: Espaço de swap não utilizado.</li>
<li>1024000 cached Mem: Parte da memória RAM usada para cache de páginas de disco. Essa memória é usada para acelerar operações e pode ser liberada pelo sistema, se necessário.</li>
</ul>
<p>Muita informação não? Podemos resumir essa saída da seguinte forma:</p>
<ul>
<li>O sistema tem 125 processos ativos, com apenas 2 em execução e a maioria (123) aguardando recursos.</li>
<li>A CPU está 95% ociosa, indicando pouca carga no sistema.</li>
<li>Cerca de 2 GB de RAM estão em uso (de um total de 4 GB), e 2 GB estão livres.</li>
<li>O espaço de swap está praticamente livre (apenas 104 MB usados de 2 GB).</li>
<li>O sistema está usando 1 GB de memória para cache, o que melhora o desempenho geral ao evitar acessos frequentes ao disco.</li>
</ul>
<h4>3. Lista de processos</h4>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong> PID USER PR NI VIRT   RES   SHR  S %CPU %MEM   TIME+ COMMAND</strong></span>
<span style="color: #000000;"><strong>1234 user 20 0  123456 5678  1024 R  5.0 0.1  0:01.23 python</strong></span>
<span style="color: #000000;"><strong>2345 user 20 0  345678 12345 2048 S  3.0 0.3  0:10.45 chrome</strong></span>
<span style="color: #000000;"><strong>[TRUNCADO]</strong></span></pre>
<p>Onde:</p>
<ul>
<li><strong>PID</strong>: ID do processo.</li>
<li><strong>USER</strong>: Usuário que iniciou o processo.</li>
<li><strong>PR</strong>: Prioridade do processo.</li>
<li><strong>NI</strong>: Valor do niceness (impacta a prioridade do processo).</li>
<li><strong>VIRT</strong>: Tamanho da memória virtual total do processo.</li>
<li><strong>RES</strong>: Memória física usada pelo processo.</li>
<li><strong>SHR</strong>: Memória compartilhada utilizada.</li>
<li><strong>S</strong>: Estado do processo (no caso, R = em execução e S = Dormindo.</li>
<li><strong>%CPU</strong>: Percentual de uso da CPU.</li>
<li><strong>%MEM</strong>: Percentual de uso da memória.</li>
<li><strong>TIME+</strong>: Tempo acumulado de CPU.</li>
<li><strong>COMMAND</strong>: Nome do comando/processo.</li>
</ul>
<p>A coluna <strong>PR</strong> indica a prioridade atual do processo. Essa prioridade determina a ordem em que os processos são agendados para a CPU. Processos com valores de prioridade mais baixos recebem mais tempo de CPU.<br />
A prioridade pode ser influenciada pelo valor <strong>NI</strong> (niceness), mostrado na coluna ao lado de PR.</p>
<p>A coluna <strong>NI</strong> indica o valor de &#8220;<em>niceness</em>&#8221; do processo. O &#8220;niceness&#8221; é usado para ajustar a prioridade de processos normais (não em tempo real). É um valor que pode ser configurado manualmente para indicar quão &#8220;agradável&#8221; (em inglês, &#8220;nice&#8221;) um processo é em relação ao consumo de CPU.</p>
<p>Quanto menor o valor, maior a prioridade.</p>
<p>Já a coluna VIRT indica o tamanho total da memória virtual utilizada pelo processo. Isso inclui:</p>
<ul>
<li>Memória física em uso.</li>
<li>Memória swap em uso.</li>
<li>Memória reservada que pode não estar sendo utilizada.</li>
<li>Áreas de memória mapeadas (como bibliotecas e arquivos).</li>
</ul>
<p>Vejamos agora alguns dos comandos interativos disponibilizados na interface do top.</p>
<h3>Principais comandos interativos no top</h3>
<p>Quando o top está em execução, podemos interagir com a interface usando os seguintes comandos de teclado:</p>
<table style="border-collapse: collapse; width: 60%; border: 1px solid #ddd;" border="1">
<thead>
<tr>
<th>Comando</th>
<th>Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td>q</td>
<td>Sai do top.</td>
</tr>
<tr>
<td>h</td>
<td>Mostra a ajuda com todos os comandos disponíveis.</td>
</tr>
<tr>
<td>k</td>
<td>Finaliza um processo (solicita o PID).</td>
</tr>
<tr>
<td>r</td>
<td>Altera a prioridade (niceness) de um processo (solicita o PID e o novo valor).</td>
</tr>
<tr>
<td>z</td>
<td>Alterna o uso de cores (útil para melhor visualização).</td>
</tr>
<tr>
<td>P</td>
<td>Ordena os processos pelo uso da CPU.</td>
</tr>
<tr>
<td>M</td>
<td>Ordena os processos pelo uso da memória.</td>
</tr>
<tr>
<td>T</td>
<td>Ordena os processos pelo tempo de execução acumulado.</td>
</tr>
<tr>
<td>1</td>
<td>Exibe o uso de cada núcleo de CPU separadamente.</td>
</tr>
</tbody>
</table>
<p>Vejamos agora alguns exemplos do uso de top no Linux.</p>
<h2>Exemplos do comando top</h2>
<p>1. Executar o top e observar os processos em tempo real:</p>
<pre><strong>$ sudo top</strong></pre>
<p>2. Classificar processos pelo uso de memória (tecla M):</p>
<p>Após iniciar o top, pressionamos M para listar os processos com maior uso de memória.</p>
<p>3. Finalizar um processo específico (tecla k)</p>
<p>Após iniciar o top, pressionamos k e inserimos o PID do processo que desejamos finalizar.</p>
<p>4. Exibir o uso de cada núcleo de CPU separadamente (tecla 1)</p>
<p>Após iniciar o top, pressionamos 1 para ver o uso de cada núcleo.</p>
<p>5. Exibir apenas processos de um usuário específico, como o usuário fabio:</p>
<pre><strong>$ top -u fabio</strong></pre>
<p>6. Alterar a taxa de atualização do top (tecla d)</p>
<p>Pressionamos a tecla d e então inserimos o intervalo de atualização de tela desejado em segundos (por padrão, é 3 segundos).</p>
<p>A seguir temos alguns exercícios para você treinar um pouco mais o uso do comando top no Linux. A resolução sugerida de cada um se encontra após a listagem.</p>
<h3>Exercícios: comando top</h3>
<p>1. Liste os 5 processos que mais consomem CPU usando o top.<br />
2. Finalize um processo de baixa prioridade usando o PID obtido no top.<br />
3. Exiba apenas os processos pertencentes ao usuário atual.<br />
4. Altere o <em>niceness</em> de um processo usando o top.<br />
5. Ordenar os processos pelo tempo de execução acumulado.</p>
<h3>Resolução dos exercícios</h3>
<p><strong>1. Liste os 5 processos que mais consomem CPU</strong></p>
<p>Dentro do top, pressione P para ordenar pelo uso da CPU. Observe os 5 primeiros processos da lista.</p>
<p><strong>2. Finalize um processo de baixa prioridade</strong></p>
<ol>
<li>No top, pressione k.</li>
<li>Insira o PID do processo que deseja finalizar.</li>
<li>Confirme pressionando Enter.</li>
</ol>
<p><strong>3. Exiba apenas os processos pertencentes ao usuário atual</strong></p>
<p>Execute o comando:</p>
<pre><strong>$ sudo top -u $USER</strong></pre>
<p><strong>4. Altere o niceness de um processo</strong></p>
<ol>
<li>No top, pressione r.</li>
<li>Insira o PID do processo.</li>
<li>Digite o novo valor de niceness (de -20 a 19, sendo -20 o mais prioritário).</li>
</ol>
<p><strong>5. Ordenar os processos pelo tempo de execução acumulado</strong></p>
<p>No top, pressione a tecla T para ordenar os processos pelo tempo de execução.</p>
<h2>Conclusão</h2>
<p>O comando top é uma ferramenta bastante útil para monitorar o desempenho do sistema Linux em tempo real. Ele fornece informações detalhadas sobre os processos em execução, permitindo que os administradores de sistemas Linux identifiquem problemas e ajustem o uso de recursos de forma eficiente.</p>
<p>Nos próximos tutoriais veremos outras ferramentas também bastante úteis para esses propósitos, como o <a href="https://www.bosontreinamentos.com.br/linux/monitoramento-de-processos-no-linux-com-comando-htop/">comando htop</a>.</p>
<p>Até mais!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/">Monitorar uso de recursos do sistema com comando top no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/monitorar-uso-de-recursos-do-sistema-com-comando-top-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comando ps &#8211; informações sobre processos em execução no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 19 Nov 2024 17:27:04 +0000</pubDate>
				<category><![CDATA[Certificação LPIC-1]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20507</guid>

					<description><![CDATA[<p>Comando ps &#8211; informações sobre processos em execução no Linux O comando ps (process status) é usado no Linux para exibir informações sobre os processos em execução no sistema. Ele é uma ferramenta bastante útil para monitoramento, análise e solução de problemas relacionados a processos no sistema operacional &#8211; por exemplo, processos travados ou que estão consumindo muito tempo de processamento da CPU. Sintaxe básica do ps A sintaxe básica do comando ps é a seguinte: $ ps [opções] Se não forem usadas opções, o comando ps exibe os processos pertencentes ao usuário que executou o comando no terminal atual. A seguir, vamos conhecer as principais opções disponíveis para o ps. Opções comuns do comando ps Vejamos algumas das opções mais comuns utilizadas em conjunto com o comando ps no Linux: 1. ps (sem opções) Exibe uma lista dos processos em execução no terminal atual: $ ps Saída típica: PID TTY TIME CMD 1234 pts/0 00:00:01 bash 2345 pts/0 00:00:00 ps Nesta saída, temos quatro colunas que trazem as seguintes informações: PID: O ID do processo. TTY: Terminal associado ao processo. TIME: Tempo de CPU utilizado. CMD: Comando executado. A coluna TTY (abreviação de &#8220;Teletype&#8220;), se refere a terminais físicos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/">Comando ps &#8211; informações sobre processos em execução no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Comando ps &#8211; informações sobre processos em execução no Linux</h1>
<p>O comando ps (process status) é usado no Linux para exibir informações sobre os processos em execução no sistema. Ele é uma ferramenta bastante útil para monitoramento, análise e solução de problemas relacionados a processos no sistema operacional &#8211; por exemplo, processos travados ou que estão consumindo muito tempo de processamento da CPU.</p>
<h2>Sintaxe básica do ps</h2>
<p>A sintaxe básica do comando ps é a seguinte:</p>
<pre><span style="color: #800080;"><strong>$ ps [opções]</strong></span></pre>
<p>Se não forem usadas opções, o comando ps exibe os processos pertencentes ao usuário que executou o comando no terminal atual. A seguir, vamos conhecer as principais opções disponíveis para o ps.</p>
<h3>Opções comuns do comando ps</h3>
<p>Vejamos algumas das opções mais comuns utilizadas em conjunto com o comando ps no Linux:</p>
<h4>1. ps (sem opções)</h4>
<p>Exibe uma lista dos processos em execução no terminal atual:</p>
<pre><strong>$ ps</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>PID TTY TIME CMD</strong>
<strong>1234 pts/0 00:00:01 bash</strong>
<strong>2345 pts/0 00:00:00 ps</strong></span></pre>
<p>Nesta saída, temos quatro colunas que trazem as seguintes informações:</p>
<ul>
<li><strong>PID</strong>: O ID do processo.</li>
<li><strong>TTY</strong>: Terminal associado ao processo.</li>
<li><strong>TIME</strong>: Tempo de CPU utilizado.</li>
<li><strong>CMD</strong>: Comando executado.</li>
</ul>
<p>A coluna <strong>TTY</strong> (abreviação de &#8220;<em>Teletype</em>&#8220;), se refere a terminais físicos ou terminais de console usados para interagir com os sistemas de computadores.</p>
<p>O valor que aparece, <strong>pts</strong>, é uma abreviação de &#8220;<em>pseudo-terminal slave</em>&#8220;. Se refere a terminais virtuais criados dinamicamente quando abrimos terminais em emuladores gráficos, como o terminal do gnome (<em>gnome-terminal</em>), o xterm, ou ainda quando realizamos conexões remotas via SSH a um sistema Linux.</p>
<p>Ou seja, são terminais virtuais conectados ao sistema por meio de um programa que emula um terminal. Cada terminal virtual (isso inclui até mesmo abas em um emulador gráfico) recebe um código identificador como pts/0, pts/1, etc.</p>
<p>O valor tty aparece se estivermos usando um terminal físico ou console, ao passo que o valor pts aparece quando usamos um emulador de terminal gráfico ou nos conectamos via SSH.</p>
<p>Já a coluna <strong>TIME</strong> indica o tempo total acumulado que o processo usou a CPU desde o momento em que foi iniciado. Ela é apresentada no formato HH:MM e inclui o tempo gasto em execução ativa ou em funções do sistema.</p>
<h4>2. ps -e ou ps -A</h4>
<p>Lista todos os processos em execução no sistema. Exemplo:</p>
<pre><strong>$ ps -e</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>  1 ? 00:00:05 systemd</strong>
<strong>  2 ? 00:00:00 kthreadd</strong>
<strong>434 ? 00:00:03 sshd</strong>
<strong>567 ? 00:00:01 cron</strong></span></pre>
<p>Com esta opção, alguns processos podem trazer o símbolo ? na coluna TTY, o que significa que o processo não está associado a nenhum terminal. Isso ocorre, por exemplo, com processos de sistema, da inicialização ou serviços em segundo plano (daemons), que não possuem interação direta com o usuário.</p>
<h4>3. ps -f</h4>
<pre>Exibe informações detalhadas sobre os processos pertencente ao usuário:

<strong>$ ps -f</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>UID  PID  PPID C STIME TTY   TIME     CMD</strong>
<strong>user 1234 1200 0 10:00 pts/0 00:00:01 bash</strong>
<strong>user 2345 1234 0 10:05 pts/0 00:00:00 ps -f</strong></span></pre>
<p>Além das quatro colunas exibidas no exemplo anterior, com esta opção também são exibidas as seguintes informações:</p>
<ul>
<li><strong>UID</strong>: Nome do usuário que iniciou o processo.</li>
<li><strong>PPID</strong>: ID do processo pai.</li>
<li><strong>C</strong>: Utilização de CPU.</li>
<li><strong>STIME</strong>: Hora de início do processo.</li>
</ul>
<p>A coluna <strong>C</strong> indica a prioridade relativa do processo em relação ao uso da CPU. Ou seja,representa a utilização de CPU como uma percentagem aproximada do tempo gasto pelo processo na execução de tarefas durante um intervalo curto (geralmente desde o último reinício do sistema).</p>
<p>Essa métrica é volátil, pois reflete apenas o comportamento recente do processo. É útil para identificar processos que estão consumindo muita CPU em tempo real.</p>
<p>Se a coluna C exibir o valor 0, significa que o processo não está utilizando significativamente a CPU no momento. Se exibir 1 ou um valor maior, significa que o processo está consumindo mais ciclos de CPU.</p>
<h4>4. ps aux</h4>
<p>Lista todos os processos com informações detalhadas, incluindo os processos que foram iniciados por outros usuários. Essa é uma das formas mais usadas do comando:</p>
<pre><strong>$ ps aux</strong></pre>
<p>Saída típica:</p>
<pre><span style="color: #000000;"><strong>USER PID  %CPU %MEM VSZ    RSS  TTY   STAT START TIME COMMAND</strong>
<strong>user 1234  0.0  0.1 123456 2345 pts/0 S    10:00 0:01 bash</strong>
<strong>root    1  0.1  0.2 345678 5678 ?     Ss   09:50 0:05 init</strong></span></pre>
<p>Agora são exibidas também as seguintes informações:</p>
<ul>
<li><strong>%CPU</strong>: Percentual de uso da CPU.</li>
<li><strong>%MEM</strong>: Percentual de uso da memória.</li>
<li><strong>VSZ</strong>: Tamanho virtual do processo (em KB).</li>
<li><strong>RSS</strong>: Memória física usada pelo processo.</li>
<li><strong>STAT</strong>: Estado do processo</li>
<li><strong>COMMAND</strong>: Comando que iniciou o processo.</li>
</ul>
<p>A coluna STAT exibe o status de cada processo no sistema. Este status indica o estado atual do processo, ou seja, o que ele está fazendo ou aguardando naquele momento. Os principais status são:</p>
<ul>
<li><strong>Em execução (R)</strong>: O processo está ativo e sendo executado pela CPU.</li>
<li><strong>Dormindo (S)</strong> – Dormindo &#8220;interrompível&#8221;. O processo está em um estado de espera interrompível, ou seja, ele está inativo, mas pode ser despertado por eventos como entrada/saída (I/O).</li>
<li><strong>Dormindo em espera (D)</strong> – Dormindo &#8220;não interrompível&#8221;. O processo está em um estado de espera não interrompível, ou seja, ele está inativo, mas não pode ser imediatamente interrompido ou finalizado. Por exemplo, ele está aguardando diretamente uma interação de hardware, como com um disco rígido, e não pode ser interrompido até que a operação termine.</li>
<li><strong>Zumbi (Z)</strong>: O processo foi finalizado, mas ainda está listado na tabela de processos porque seu processo pai ainda não leu o código de saída (não realizou a chamada wait() para coletar o status de término.)</li>
<li><strong>Parado (T)</strong>: O processo está suspenso ou parado, geralmente devido a um sinal, como o SIGSTOP ou SIGTSTP (enviado pelo atalho Ctrl+Z no terminal). Geralmente ocorre quando o processo foi explicitamente suspenso pelo usuário ou pelo sistema.</li>
<li><strong>I (Idle)</strong>: O processo está inativo e não consumindo recursos.</li>
<li><strong>&lt; (Alta prioridade)</strong>: O processo está sendo executado com uma prioridade mais alta que o normal.</li>
<li><strong>N (Baixa prioridade)</strong>: O processo está sendo executado com uma prioridade mais baixa que o normal.</li>
</ul>
<p>Também há alguns status adicionais exibidos nessa coluna:</p>
<ul>
<li><strong>s (Processo líder)</strong>: Indica que o processo é um líder de sessão, ou seja, o primeiro processo de uma sessão, como em uma nova sessão de terminal.</li>
<li><strong>l (Em thread de nível baixo)</strong>: O processo está multithreaded (ou seja, utiliza várias threads). Este status aparece quando o processo está rodando em modo &#8220;nível baixo&#8221; (<em>lightweight</em>) com múltiplas threads. comum em processos que fazem uso intensivo de threads, como navegadores Web e a JVM.</li>
<li><strong>+ (No grupo do terminal atual)</strong>: Processo que está em execução no grupo de processos em primeiro plano no terminal atual (<em>foreground group</em>), como processos que estão diretamente associados ao terminal que estamos usando no momento.</li>
</ul>
<p>Já a coluna <strong>VSZ</strong> (<em>Virtual Size</em>) indica o tamanho virtual do processo, que representa a quantidade total de memória virtual que o processo está utilizando, incluindo a memória usada pelo código e dados do processo, bibliotecas compartilhadas, memória alocada mas não necessariamente usada e memória mapeada. Essa coluna <strong>NÃO</strong> representa a memória RAM física usada pelo processo (que é o <strong>RSS</strong>, <em>Residente Set Size</em>).</p>
<h4><strong>5. ps -u [usuário]</strong></h4>
<p>Exibeir os processos pertencentes a um usuário específico:</p>
<pre><strong>$ ps -u root</strong></pre>
<h4>6. ps -p [PID]</h4>
<p>Exibir informações sobre um processo específico pelo seu PID (número de identificação do processo):</p>
<pre><strong>$ ps -p 1234</strong></pre>
<h4>7. ps &#8211;forest</h4>
<p>Mostrar a hierarquia dos processos (relação entre processos pai e filhos) do usuário atual:</p>
<pre><strong>$ ps --forest</strong></pre>
<h4>8. ps -eo</h4>
<p>Permite personalizar os campos a serem exibidos ao executar o ps. Por exemplo, para mostrar apenas o PID e o comando:</p>
<pre><strong>$ ps -eo pid,cmd</strong></pre>
<p>Vejamos mais alguns exemplos de uso do comando ps no terminal do Linux.</p>
<h2>Exemplos do comando ps</h2>
<p><strong>Exemplo 1: Encontrar um processo pelo nome</strong></p>
<p>Podemos usar o comando grep junto com o ps para encontrar processos específicos. Por exemplo, para exibir informações sobre o processo do bash:</p>
<pre><strong>$ ps aux | grep bash</strong></pre>
<p><strong>Exemplo 2: Monitorar o uso de memória de todos os processos</strong></p>
<pre><strong>$ ps -eo pid,comm,%mem --sort=-%mem</strong></pre>
<p>Este comando exibe o PID, o nome do comando e o uso de memória dos processos, ordenados do maior para o menor uso de memória.</p>
<p><strong>Exemplo 3: Ver os 5 processos que estão consumindo mais CPU no sistema</strong></p>
<pre><strong>$ ps -eo pid,comm,%cpu --sort=-%cpu | head -n 6</strong></pre>
<h2>Conclusão</h2>
<p>Neste tutorial vimos como usar o comando ps para descobrir informações sobre processos em um ambiente Linux, incluindo processos em execução, processos parados ou travados e outros.</p>
<p>Muitas outras ferramentas estão disponíveis para gerenciamento de processos no Linux, e vamos estudar mais algumas delas nos próximos tutoriais, como os utilitários top e htop, entre outras.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/">Comando ps &#8211; informações sobre processos em execução no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comando-ps-informacoes-sobre-processos-em-execucao-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>O que é a linguagem Rust de programação</title>
		<link>https://www.bosontreinamentos.com.br/rust/o-que-e-a-linguagem-rust-de-programacao/</link>
					<comments>https://www.bosontreinamentos.com.br/rust/o-que-e-a-linguagem-rust-de-programacao/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 14 Apr 2023 17:04:17 +0000</pubDate>
				<category><![CDATA[Rust]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Sistema Operacional]]></category>
		<category><![CDATA[Sistemas Embarcados]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19234</guid>

					<description><![CDATA[<p>O que é a linguagem Rust? Neste artigo dou início a uma série de tutoriais sobre uma linguagem de programação muito interessante, por vários motivos que veremos a seguir, e que está em ascenção na atualidade: a linguagem Rust. O Rust é uma linguagem de programação de sistemas, desenvolvida como um projeto pessoal pelo desenvolvedor Graydon Hoare (que também criou a linguagem Swift), que trabalhava na Mozilla Research, sendo posteriormente financiado pela empresa. É uma linguagem que foi projetada para ser segura, rápida e com suporte a concorrência, combinando o controle de baixo nível existente em linguagens como C e C++ com recursos de alto nível, como gerenciamento de memória sem garbage collector, sistema de tipos forte e estático e abstrações de dados. Logo da linguagem Rust de Programação O site oficial da linguagem Rust é o rust-lang.org. Linguagens de programação de sistemas são empregadas para criar software e plataformas de software, como sistemas operacionais, compiladores, motores de jogos, sistemas embarcados, etc. Ou seja, são linguagens que efetuam uma forte interação com o hardware da máquina. Outros exemplos de linguagens de sistemas são as linguagens C e C++. Características do Rust Uma das principais características da linguagem Rust é sua [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/rust/o-que-e-a-linguagem-rust-de-programacao/">O que é a linguagem Rust de programação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é a linguagem Rust?</h2>
<p>Neste artigo dou início a uma série de tutoriais sobre uma linguagem de programação muito interessante, por vários motivos que veremos a seguir, e que está em ascenção na atualidade: a <strong>linguagem Rust</strong>.</p>
<p>O Rust é uma linguagem de programação de sistemas, desenvolvida como um projeto pessoal pelo desenvolvedor <a href="https://github.com/graydon" target="_blank" rel="noopener">Graydon Hoare</a> (que também criou a linguagem Swift), que trabalhava na Mozilla Research, sendo posteriormente financiado pela empresa.</p>
<p>É uma linguagem que foi projetada para ser segura, rápida e com suporte a concorrência, combinando o controle de baixo nível existente em linguagens como C e C++ com recursos de alto nível, como gerenciamento de memória sem <em>garbage collector</em>, sistema de tipos forte e estático e abstrações de dados.</p>
<div id="attachment_19262" style="width: 260px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-19262" class="wp-image-19262" title="Logo da linguagem Rust de Programação" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo-1024x1024.png" alt="Logo da linguagem Rust de Programação" width="250" height="250" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo-1024x1024.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo-420x420.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo-768x768.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/Rust-Logo.png 2048w" sizes="auto, (max-width: 250px) 100vw, 250px" /><p id="caption-attachment-19262" class="wp-caption-text">Logo da linguagem Rust de Programação</p></div>
<p>O site oficial da linguagem Rust é o <a href="https://www.rust-lang.org/" target="_blank" rel="noopener">rust-lang.org</a>.</p>
<hr />
<p><span style="color: #003300;">Linguagens de <em>programação de sistemas</em> são empregadas para criar software e plataformas de software, como sistemas operacionais, compiladores, motores de jogos, sistemas embarcados, etc.</span></p>
<p><span style="color: #003300;">Ou seja, são linguagens que efetuam uma forte interação com o hardware da máquina. Outros exemplos de linguagens de sistemas são as linguagens <a style="color: #003300;" href="http://www.bosontreinamentos.com.br/category/programacao-em-linguagem-c/">C</a> e <a style="color: #003300;" href="http://www.bosontreinamentos.com.br/category/programacao-em-c/">C++</a>.</span></p>
<hr />
<h3>Características do Rust</h3>
<p>Uma das principais características da linguagem Rust é sua ênfase na segurança e na prevenção de erros de programação comuns, como por exemplo acessos inválidos a memória, vazamentos de memória e condições de corrida em programas concorrentes.</p>
<p>Para isso, a linguagem inclui diversos recursos como verificação de limites de vetor em tempo de compilação, controle de mutabilidade de dados, gerenciamento de memória baseado em propriedade (<em>ownership</em>) e sistema de tipos avançado com  exclusão mútua.</p>
<p>Além disso, outra característica importante da linguagem Rust é seu desempenho, que pode ser comparado ao de linguagens de sistemas como <a href="http://www.bosontreinamentos.com.br/category/programacao-em-linguagem-c/">linguagem C</a> e <a href="http://www.bosontreinamentos.com.br/category/programacao-em-c/">C++</a>.</p>
<p>Isso se deve em parte ao fato de Rust permitir programação de baixo nível, incluindo acesso direto a hardware, sem a sobrecarga de um garbage collector ou de outros recursos de linguagens de alto nível.</p>
<p>Sendo assim, podemos resumir algumas das características principais da linguagem Rust como sendo:</p>
<ul>
<li><strong>Desempenho</strong><br />
Essa linguagem não possui um coletor de lixo (<em>Garbage Collector</em> &#8211; GC) por padrão. Por conta disso, o desempenho em tempo de execução é bastante melhorado.</li>
<li><strong>Segurança de memória em tempo de compilação</strong><br />
Softwares criados com Rust são protegidos contra problemas de memória, como ponteiros pendentes, estouros de buffer e vazamentos de memória.</li>
<li><strong>Aplicativos Multi-Thread</strong><br />
As regras de propriedade e segurança de memória do Rust fornecem simultaneidade sem corridas de dados.</li>
<li><strong>Suporte para Web Assembly (WASM)</strong><br />
O Web Assembly ajuda a executar algoritmos de computação altamente intensiva no navegador, em dispositivos embarcados ou em qualquer outro lugar. Ele é executado na velocidade do código nativo, para execução rápida e confiável.</li>
</ul>
<p>Além disso, o Rust tem uma comunidade de desenvolvedores ativa e crescente, com muitas bibliotecas e ferramentas disponíveis para uma variedade de aplicações, incluindo automação de processos, jogos, computação científica e sistemas embarcados.</p>
<h3>Quais são as aplicações da linguagem Rust?</h3>
<p>A linguagem Rust é uma linguagem de programação de propósito geral que foi desenvolvida com o objetivo de fornecer segurança e alto desempenho em sistemas de software. Algumas das principais aplicações da linguagem Rust incluem:</p>
<ul>
<li><strong>Sistemas Operacionais</strong>: a linguagem Rust é adequada para o desenvolvimento de sistemas operacionais devido à sua segurança e desempenho.</li>
<li><strong>Software de rede</strong>: a linguagem Rust é adequada para o desenvolvimento de software de rede devido à sua capacidade de lidar com operações de E/S de forma eficiente e segura.</li>
<li><strong>Software para sistemas embarcados</strong>: a linguagem Rust é adequada para o desenvolvimento de software de sistemas embarcados devido à sua capacidade de fornecer código de baixo nível com segurança e alto desempenho.</li>
<li><strong>Servidores web</strong>: a linguagem Rust é adequada para o desenvolvimento de servidores web devido à sua capacidade de lidar com grande quantidade de requisições simultâneas com eficiência e segurança.</li>
<li><strong>Jogos</strong>: a linguagem Rust é adequada para o desenvolvimento de aplicações de jogos devido à sua capacidade de fornecer alto desempenho e segurança no gerenciamento de memória.</li>
</ul>
<p>Essas são algumas das principais aplicações da linguagem Rust. Com o seu crescimento e popularidade, novas aplicações e usos estão sendo desenvolvidos pela comunidade de programadores.</p>
<p>Parece excelente não? <strong><em>Mas como começar a programar em Rust?</em></strong></p>
<p>No próximo tutorial mostrarei <a href="http://www.bosontreinamentos.com.br/rust/como-criar-seu-primeiro-programa-em-rust-e-instalacao-da-linguagem/">como instalar a linguagem e criar seu primeiro programa em Rust</a>.</p>
<h3>Referências</h3>
<ul>
<li>Site oficial da linguagem Rust: <a href="https://www.rust-lang.org/" target="_blank" rel="noopener">https://www.rust-lang.org/</a></li>
<li>Documentação oficial do Rust:<a href="https://doc.rust-lang.org/" target="_blank" rel="noopener"> https://doc.rust-lang.org/</a></li>
<li>Rust by Example: <a href="https://doc.rust-lang.org/stable/rust-by-example/" target="_blank" rel="noopener">https://doc.rust-lang.org/stable/rust-by-example/</a></li>
<li>Rust Programming Language Book: <a href="https://doc.rust-lang.org/book/" target="_blank" rel="noopener">https://doc.rust-lang.org/book/</a></li>
<li>The Rust Programming Language Blog: <a href="https://blog.rust-lang.org/" target="_blank" rel="noopener">https://blog.rust-lang.org/</a></li>
</ul>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/rust/o-que-e-a-linguagem-rust-de-programacao/">O que é a linguagem Rust de programação</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/rust/o-que-e-a-linguagem-rust-de-programacao/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
