top -M
não funciona em nenhuma das distribuições do Fedora, Debian ou Ubuntu, que eu saiba. Eu apenas tentei e não está no procps-ng
pacote que fornece top
. Existem muitas implementações, top
portanto é preciso prestar atenção especial à qual elas usam.
Em geral, é melhor usar free
a alternância para liberar a quantidade de memória no Linux.
procps vs. procps-ng
Você deve ter notado que no CentOS 5 e 6 e no RHEL 5 e 6 top -M
parece funcionar. Isso ocorre porque essas distros são enviadas com a versão original do procps
. O projeto foi bifurcado e agora existe outro projeto procps-ng
.
Alguns dos detalhes de por que houve fork, na página do Projeto Fedora .
excerto
As ferramentas procps antigas (herdadas) não tinham atualizações por vários anos e isso levou a uma divisão maciça de código causada por um aplicativo somente local de patches específicos de distribuição, que não foram mesclados a montante. O projeto tornou-se dificilmente sustentável, pois alguns dos patches recém-escritos eram incompatíveis com as fontes mantidas por outros distribuidores. Uma incompatibilidade semelhante pode ser observada no comportamento dos aplicativos e em suas opções de linha de comando. Esta atualização inevitável pode ser entendida como um esforço para unificar as ferramentas procps em todas as distribuições Linux.
Então, para ficar claro, o projeto bifurcado procps-ng
é o que o Debian, Fedora, Ubuntu e outras distros estão usando, o projeto legado, que suporta top -M
ainda está em uso em vários lançamentos de longo prazo que não acompanham as últimas atualizações. e melhor.
NOTA: Fiz o download da versão mais recente do procps-ng
"procps-ng versão 3.3.9.1-14ef" e também estava sem a -M
opção.
$ ./top/top -version
procps-ng version 3.3.9.1-14ef
Usage:
lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
livre
Ao executar free
com switches, você pode ver o motivo mais provável pelo qual a falta de recursos de unidades está ausente na procps-ng
implementação do top
.
$ free -m
total used free shared buffers cached
Mem: 7782 6506 1276 0 504 1726
-/+ buffers/cache: 4274 3507
Swap: 7823 1429 6394
[saml@greeneggs ~]$ free -k
total used free shared buffers cached
Mem: 7969492 6663180 1306312 0 516948 1764780
-/+ buffers/cache: 4381452 3588040
Swap: 8011772 1463456 6548316
O arredondamento se torna problemático, por isso acredito que procps
a implementação evita o problema por não oferecer a capacidade.
htop
Faz um bom trabalho ao mostrar o uso de memória agregada.
![ss de htop](https://i.stack.imgur.com/EGKeP.png)
no topo
Na minha opinião, uma ferramenta melhor para olhar para a memória.
![ss do topo](https://i.stack.imgur.com/ddT3Y.png)
não
Outra ferramenta útil é nmon
para analisar o desempenho do sistema.
![ss of nmon](https://i.stack.imgur.com/DyZxy.png)
top -M
exibir o uso em MB. Se você deseja apenas monitorar o uso da memória, use um poucohtop
. Não tenho certeza de nenhuma outra opção.