Podemos obter uma coluna específica em um comando superior, por exemplo, estou interessado apenas na coluna utilização de memória e uso de CPU.
Como reduzo as colunas exibidas do comando superior para apenas as duas colunas acima?
top -h
).
Podemos obter uma coluna específica em um comando superior, por exemplo, estou interessado apenas na coluna utilização de memória e uso de CPU.
Como reduzo as colunas exibidas do comando superior para apenas as duas colunas acima?
top -h
).
Respostas:
NOTA: Supondo que você tenha esta versão do top
(procps) . Você pode verificar com este comando:
$ top --version
top: procps version 3.2.8
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
procps geralmente é a versão do top
Fedora / CentOS / RHEL e outras variantes.
Se você procurar na página de manual, top
verá uma seção intitulada: "2b. SELECIONANDO e ORDENDO Colunas". Existem atalhos de teclado para alternar a visibilidade para os diferentes campos / colunas.
Por exemplo:
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
F or O . Select sort field
<,> . Move sort field: '<' next col left; '>' next col right
Você pode usar a chave fenquanto estiver dentro top
para acessar uma tela secundária, onde poderá especificar quais colunas devem ser alternadas visíveis ou não:
Por exemplo:
Current Fields: ANOPQRSTUVbcdefgjlmyzWHIKX for window 3:Mem
Toggle fields via field letter, type any other key to return
* A: PID = Process Id * W: S = Process Status
* N: %MEM = Memory usage (RES) * H: PR = Priority
* O: VIRT = Virtual Image (kb) * I: NI = Nice value
* P: SWAP = Swapped size (kb) * K: %CPU = CPU usage
* Q: RES = Resident size (kb) * X: COMMAND = Command name/line
* R: CODE = Code size (kb)
...
Há mais, estas são apenas uma amostra. Quando terminar de alternar as colunas da maneira que desejar, use o Escpara sair da tela de seleção.
Você pode usar o Shift+ Wpara salvar suas alterações, para que sejam os padrões:
W Write configuration file
O arquivo é armazenado aqui,, $HOME/.toprc
e fica assim:
$ more .toprc
RCfile for "top with windows" # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=1.000, Curwin=2
Def fieldscur=AEHIoqTWKNMBcdfgjpLrsuvyzX
winflags=129016, sortindx=19, maxtasks=0
summclr=2, msgsclr=5, headclr=7, taskclr=7
Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
winflags=63416, sortindx=13, maxtasks=0
summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
winflags=65464, sortindx=13, maxtasks=0
summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX
winflags=65464, sortindx=12, maxtasks=0
summclr=3, msgsclr=3, headclr=2, taskclr=7
Consulte a seção 5 da página do manual para obter mais detalhes, "5. ARQUIVOS".
[Centos-6 | Ubuntu 12.10] Este cmd imprime os 4 principais processos classificados por USAGE CPU
top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
Resultado
%CPU %MEM COMMAND
7.7 0.2 top
0.0 0.3 init
0.0 0.0 kthreadd
0.0 0.0 migration/0
Nota: head -n 5 em vez de 4 porque também temos o nome da coluna
colunas $ 9, $ 10, $ 12 significa CPU, MEM, COMANDO. Use o comando 'top' para obter os números das colunas
Classificar por USO DE MEMÓRIA (seu 'top' deve suportar -m para executar isso)
# this work on my centos-6 machine, NOT work on my Ubuntu 12.10
top -m -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s\n", $9, $10, $12); }' | head -n 5
para visualizar no formato json e remover o cabeçalho também,
top -bn 1 | grep "^ " | awk '{ printf("%s%s%s\n","{CPU:"$9",","MEM:"$10",","CMD:"$12"}"); }' | head -n 6 | tail -n +2
saída como abaixo,
{CPU:6.4,MEM:0.3,CMD:gnome-terminal}
{CPU:6.4,MEM:1.9,CMD:chrome}
{CPU:0.0,MEM:0.0,CMD:init}
{CPU:0.0,MEM:0.0,CMD:kthreadd}
{CPU:0.0,MEM:0.0,CMD:ksoftirqd/0}
grep | awk | head | tail
pode coalescer em um único awk
.
Configuração da linha de comando
Eu não queria afetar todo o meu usuário substituindo-o .toprc
, então criei uma solução para ter uma configuração separada por caso de uso.
Você pode top
usar um arquivo de configuração personalizado em vez daquele no diretório inicial do usuário.
Apenas altere a HOME
variável para um diretório personalizado que contém o .toprc
arquivo para suas necessidades.
# TOPRC_PROFILE_DIRECTORY contains .toprc (or can be created by saving using shift+w after configuring using keybindings)
TOPRC_PROFILE_DIRECTORY="<your-directory>"
HOME="$TOPRC_PROFILE_DIRECTORY" top
top
variante? Existem dezenas de implementações principais.