Como verificar a utilização de memória no Linux
Como faço para verificar a utilização da memória no Linux usando a linha de comando e GUI opções?
temos RAM física, como 16 GB e Memória swap. A memória Swap não é nada além de espaço em disco que permite que seu computador Linux execute mais aplicativos simultaneamente do que caberá na memória do sistema (RAM). Esta página explica vários comandos para verificar o uso e utilização de memória no Linux usando ferramentas de linha de comando e GUI.
comandos para verificar a utilização da memória no Linux
seu sistema Linux deve ser executado em um nível ideal. A memória desempenha um papel crítico em um sistema Linux. Um desenvolvedor ou sysadmin experiente deve saber a quantidade total de física gratuita e usada, incluindo memória swap no servidor. Seria melhor se você mantivesse um olho em buffers e caches usados pelo kernel também.
o arquivo/proc /meminfo
o arquivo/proc / meminfo relata estatísticas sobre o uso de memória no Linux. Use o comando cat/menos de comando ou comando grep/egrep comando da seguinte forma no seu Linux caixa:cat /proc/meminfo
more /proc/meminfo
Cada linha do /proc/meminfo arquivo consiste de um nome de parâmetro, seguido por uma vírgula, o valor do parâmetro, e uma opção de unidade de medida. Por exemplo, “kB”.
noções sobre a utilização de memória parâmetros
o Parâmetro | Descrição |
---|---|
MemTotal | Total de RAM utilizável (por exemplo,, RAM física menos alguns bits reservados e o código binário do kernel). |
MemFree | A soma de LowFree+HighFree. |
MemAvailable | ( desde o Linux 3.14) uma estimativa de quanta memória está disponível para iniciar novos aplicativos, sem trocar. |
Buffers | armazenamento relativamente temporário para blocos de disco bruto que não devem ficar tremendamente grandes (20MB ou mais). |
cache em cache | cache na memória para arquivos lidos do disco (o Cache da página). Não inclui SwapCached. |
a memória SwapCached | que uma vez foi trocada, é trocada de volta, mas ainda está no arquivo de troca. |
memória ativa | que foi usada mais recentemente e geralmente não recuperada, a menos que seja absolutamente necessário. |
memória inativa | que foi usada menos recentemente. É mais elegível para ser recuperado para outros fins. |
HighTotal | quantidade Total de highmem. Highmem é toda a memória acima de ~ 860 MB de memória física. As áreas Highmem são para uso por programas de espaço do usuário ou para o cache da página. O kernel deve usar truques para acessar essa memória, tornando-a mais lenta do que o lowmem. |
HighFree | quantidade de highmem livre. |
LowFree | quantidade de lowmem livre. |
SwapTotal | quantidade Total de espaço de troca disponível. |
SwapFree | quantidade de espaço de troca que atualmente não é utilizado. |
Sujo | memória que está esperando para ser escrito de volta para o disco. |
Writeback | memória que está sendo ativamente gravada de volta ao disco. |
AnonPages | páginas não suportadas por arquivos mapeadas em tabelas de páginas do espaço do Usuário. |
mapeado | arquivos que foram mapeados na memória (com mmap(2)), como bibliotecas. |
Shmem | quantidade de memória consumida em sistemas de arquivos tmpfs(5). |
kreclaimable | alocações de Kernel que o kernel tentará recuperar sob pressão de memória. Inclui SReclaimable (abaixo) e outras alocações diretas com um encolhedor. |
laje | cache de estruturas de dados no kernel. (Ver slabinfo (5).) |
SReclaimable | parte da laje, que pode ser recuperada, como caches. |
SUnreclaim | parte da laje, que não pode ser recuperada na pressão da memória. |
KernelStack | quantidade de memória alocada para pilhas do kernel. |
PageTables | quantidade de memória dedicada ao nível mais baixo de tabelas de páginas. |
nfs_unstable | páginas NFS enviadas para o servidor, mas ainda não comprometidas com o armazenamento estável. |
Bounce | memória usada para o dispositivo de bloco “Bounce buffers”. |
WritebackTmp | memória usada pelo FUSE para buffers temporários de writeback. |
CommitLimit | esta é a quantidade total de memória atualmente disponível para ser alocada no sistema, expressa em kilobytes. Esse limite é respeitado somente se a Contabilidade de overcommit estrita estiver ativada (modo 2 em /proc/sys/vm/overcommit_memory). O limite é calculado de acordo com a fórmula descrita em /proc/sys/vm/overcommit_memory. |
Committed_AS | a quantidade de memória atualmente alocada no sistema. A memória comprometida é uma soma de toda a memória que foi alocada por processos, mesmo que ainda não tenha sido “usada” por eles. Um processo que aloca 1 GB de memória (usando malloc(3) ou similar), mas toca apenas 300 MB dessa memória, aparecerá como usando apenas 300 MB de memória, mesmo que tenha o espaço de endereço alocado para todo o 1 GB. Este 1GB é a memória que foi “comprometida” pela VM e pode ser usada a qualquer momento pelo aplicativo de alocação. Com o overcommit estrito ativado no sistema (Modo 2 em /proc/sys/vm/overcommit_memory), as alocações que excederiam o CommitLimit não serão permitidas. Isso é útil se for necessário garantir que os processos não falhem devido à falta de memória, uma vez que a memória tenha sido alocada com sucesso. |
VmallocTotal | Tamanho Total da área de memória vmalloc. |
VmallocUsed | quantidade de área vmalloc que é usada. Desde o Linux 4.4, esse campo não é mais calculado e é codificado como 0. Veja /proc / vmallocinfo. |
VmallocChunk | maior bloco contíguo de área vmalloc que é livre. Desde o Linux 4.4, este campo não é mais calculado e é codificado como 0. Veja /proc / vmallocinfo. |
LazyFree | Mostra a quantidade de memória marcada por madvise(2) MADV_FREE. |
AnonHugePages | Não-arquivo apoiado páginas enormes mapeadas em tabelas de páginas do espaço do Usuário. |
ShmemHugePages | Memória usada por memória compartilhada (shmem) e tmpfs(5) alocados com enorme páginas |
ShmemPmdMapped | memória Compartilhada mapeada em espaço de usuário, com enorme páginas. |
cmatotal | Total de páginas CMA (contiguous Memory Allocator). |
CmaFree | CMA livre (alocador de memória contígua) páginas. |
HugePages_Total | o tamanho do pool de páginas enormes. |
HugePages_Free | o número de páginas enormes no pool que ainda não foram alocadas. |
HugePages_Rsvd | este é o número de páginas enormes para as quais um compromisso de alocar do pool foi feito, mas nenhuma alocação ainda foi feita. Essas páginas enormes reservadas garantem que um aplicativo poderá alocar uma página enorme do pool de páginas enormes no momento da falha. |
HugePages_Surap | este é o número de páginas enormes no pool acima do valor em /proc/sys/vm/nr_hugepages. O número máximo de páginas enormes excedentes é controlado por / proc / sys / vm / nr_overcommit_hugepages. |
Hugepagesize | o tamanho de páginas enormes. |
DirectMap4k | número de bytes de RAM mapeados linearmente pelo kernel em páginas 4kB. |
DirectMap4M | número de bytes de RAM mapeados linearmente pelo kernel em páginas de 4 MB. |
DirectMap2M | número de bytes de RAM mapeados linearmente pelo kernel em páginas de 2 MB. |
DirectMap1G | x86 com CONFIG_X86_64 e CONFIG_X86_DIRECT_GBPAGES habilitado. |
Nós pode filtrar o arquivo usando o comando grep ou egrep comando da seguinte maneira:grep -E --color 'Mem|Cache|Swap' /proc/meminfo
Usando o comando para verificar utilizado e livre utilização de memória
A saída de /proc/meminfo é poderoso, mas não amigável. Portanto, devemos usar o comando livre. O comando free mostra uma quantidade de memória livre e usada no sistema Linux. Por exemplo:free
quer ver a saída legível por humanos? Tente:free -h
free --human
exemplos de saídas:
total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
Coluna | Descrição |
---|---|
total | Total de memória instalada |
usado | memória Usada (calculado como o total de livre – buffers de cache) |
livre | memória não utilizada (MemFree e SwapFree em /proc/meminfo) |
compartilhado | Memória usada principalmente por tmpfs (Shmem em /proc/meminfo) |
buffers | Memória utilizada pelo kernel buffers (buffers em /proc/meminfo) |
cache | Memória usada pelo cache de página e lajes (em Cache e SReclaimable em /proc/meminfo) |
buff/cache | Soma dos buffers e cache |
disponível | Estimativa de quanta memória está disponível para o arranque de novas aplicações, sem a necessidade de trocar. |
podemos repetir a impressão de saída de comando livre a cada n segundos. Por exemplo, imprima a saída a cada 5 segundos e saia após dez dessas repetições (contagens) na tela:free -s 5 -c 10
nós podemos controlar a saída do comando livre como segue:free
free -k
free -g
free -m
Opção | visualizar a saída em |
---|---|
-b, –bytes | |
–quilo | kilobytes |
–mega | megabytes |
–giga | gigabytes |
–tera | terabytes |
–peta | petabytes |
-k, –kibi | kibibytes |
-m, –mebi | mebibytes |
-g, –gibi | gibibytes |
–tebi | tebibytes |
–pebi | pebibytes |
vmstat comando
O comando vmstat é poderoso, e ele mostra informações sobre Linux, hardware, tais como:
- Processos
- Memória
- Paginação
- Bloco de e / s
- Armadilhas
- Discos
- atividade da CPU
Abra o terminal e digite o seguinte comando:vmstat
Exemplo de sessão a partir do meu Ubuntu Linux desktop:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11434840 2567516 10238916 0 0 26 75 142 55 13 5 82 0 0
Passar-w para ver uma grande saída na tela:vmstat -w
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11405404 2567988 10324528 0 0 26 75 142 58 13 5 82 0 0
Campo | Descrição |
---|---|
swpd | a quantidade de memória virtual usada. |
livre | a quantidade de memória ociosa. |
buff | a quantidade de memória usada como buffers. |
cache | a quantidade de memória usada como cache. |
inact | a quantidade de memória inativa. (- uma opção) |
ativo | a quantidade de memória ativa. (- uma opção) |
si | quantidade de memória trocada de disco (/s). |
portanto, | quantidade de memória trocada por disco (/s). |
comando top e htop
os comandos top e htop fornecem uma visão dinâmica em tempo real de um sistema Linux em execução. Isso inclui informações sobre:
- Sem anúncios e acompanhamento de
- Em profundidade guias para desenvolvedores e administradores de sistemas em Opensourceflare✨
- Juntar meu Patreon para apoiar independente de criadores de conteúdo e começar a ler manuais mais recentes:
- Como configurar Redis sentinela de cluster no Ubuntu ou Debian Linux
- Como Configurar o SSH Com Chaves YubiKey como autenticação de dois fatores (U2F/FIDO2)
- Como configurar o Mariadb Galera cluster no Ubuntu ou Debian Linux
- Um podman tutorial para iniciantes – parte I (executar Linux containers sem janela de Encaixe e em daemonless modo)
- Como proteger Linux contra desonestos dispositivos USB através do USBGuard
- Se o seu domínio não está enviando e-mail, defina estas configurações de DNS para evitar spoofing e phishing
- utilização de Hardware e CPU
- tempo de atividade do Linux
- utilização de memória e troca
- processos do sistema e muito mais
observe que o htop não está instalado por padrão. Mas você pode instalá-lo no CentOS, Debian, Ubuntu e outros sistemas operacionais facilmente.
Execute o seguinte comando:top
htop
Relatório de uso de memória compartilhada com a memória dividido proporcionalmente
O smem ferramenta de relatórios:
- uso de memória Física, tendo compartilhado páginas de memória em conta. A memória não compartilhada é relatada como USS (Tamanho do conjunto exclusivo).
- a memória compartilhada é dividida igualmente entre os processos que compartilham essa memória.
- a memória não compartilhada (USS) mais a proporção de memória compartilhada de um processo é relatada como PSS (Tamanho do conjunto proporcional).
- o USS e o PSS incluem apenas o uso de memória física. Eles não incluem memória que foi trocada para o disco.
- a memória pode ser relatada por um processo, por um usuário, por mapeamento ou em todo o sistema. O modo de texto e a saída gráfica estão disponíveis.
pode-se instalar smem usando o comando apt/comando do apt-get no Debian/Ubuntu Linux:sudo apt install smem
Execute-o da seguinte maneira:smem
# show whole system #
smem -w
# show meme usage about specifc user #
smem -u vivek
smem -u nginx
# get help #
man smem
smem --help
User Count Swap USS PSS RSS vivek 139 0 7593240 8210344 13017360
Verificação de utilização de memória no Linux usando a GUI
Monitor do Sistema é uma interface gráfica do Linux aplicativo que mostra quais programas estão em execução e quanto tempo de processador, memória e espaço em disco está sendo usado. Podemos abrir o monitor do sistema a partir da visão geral das atividades. Pressione a tecla Super no teclado. Você pode ver suas janelas e aplicativos na visão geral. Você também pode começar a digitar para pesquisar seus aplicativos, como o Monitor Do Sistema. A guia Recursos informa quanto da memória (RAM) do seu computador está sendo usada. Para verificar quais processos estão usando mais memória: clique na guia Processos. Clique no cabeçalho da coluna de memória para classificar os processos de acordo com o uso da memória.
consulte a documentação para obter mais informações.
resumindo
você aprendeu como encontrar a utilização da memória Linux (RAM) no Linux usando ferramentas GUI e CLI.
feed RSS ➔ boletim eletrônico Semanal ➔
Categoria | Lista de comandos Unix e Linux |
---|---|
gerenciadores de downloads | wget |
Documentação | ajuda • mandb • homem • pinfo |
espaço em Disco analisadores | df • duf • ncdu • pydf |
Gestão de ficheiros | cat • cp • menos * mkdir * more * tree |
Fogowall | Alpine Parawall * CentOS 8 * OpenSUSE * RHEL 8 * Ubuntu 16.04 * Ubuntu 18.04 * Ubuntu 20.04 |
Linux Desktop apps | Skype * Spotify * VLC 3 |
Modern utilities | bat * exa |
Network Utilities | NetHogs * dig * host * ip * nmap |
OpenVPN | Centos 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04 |
o Gerenciador de Pacotes | apk • o apt |
Gestão de Processos | bg • chroot • cron • renegar • fg • olhares • gtop • iotop • empregos • killall • matar • pidof • pstree • pwdx • tempo • vtop |
A pesquisa | ag • grep • whereis • que |
Shell builtins | compgen • echo • printf |
processamento de Texto | cortar • rev |
Informações do Usuário | grupos • id • lastcomm • última • tampa/libuser-tampa • logname • membros • usuários • whoami • quem • w |
WireGuard VPN | Alpino • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |