saída de comando livre: gentoo (redhat?) vs debian

4

Eu notei que há uma diferença entre as saídas do comando free:

No debian:

$ free -h
             total       used       free     shared    buffers     cached
Mem:          4.0G       3.4G       629M         0B        96K       1.3G
-/+ buffers/cache:       2.1G       2.0G
Swap:         4.0G       1.1G       2.9G

No gentoo:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        3.7G        9.6G        485M        2.2G         11G
Swap:          8.8G        2.6G        6.2G

Redhat (pelo menos 7.x) parece ter a mesma saída que o gentoo. Por que é que? É possível exibir a saída do estilo debian em sistemas gentoo / redhat também? Ambas as distros estão usando gutu coreutils diferentes?

    
por Petr 07.04.2016 / 15:12

1 resposta

5

free é fornecido por procps-ng ; O Debian 8 tem a versão 3.3.9, que usa o estilo antigo com uma linha separada para buffers/cache , enquanto o Gentoo e presumivelmente o RHEL 7. x tem a versão 3.3.10 ou posterior que usa o novo estilo. Você pode ver o raciocínio por trás da mudança na mensagem de confirmação correspondente .

Se você realmente deseja a saída em estilo antigo, pode executar uma versão mais antiga de procps , mas descobrirá que as distribuições migrarão para o estilo mais novo por padrão. O estilo mais recente também fornece a quantidade de memória disponível, que é uma informação realmente útil (consulte Como posso obter a quantidade de memória disponível de forma portável entre distribuições? para detalhes).

Um pouco confuso, a versão 3.3.9 refere-se ao formato sem a linha buffers/cache como "formato antigo", e você pode vê-lo nessa versão com free -o . Então, tudo dito:

  • versões 3.3.9 e anteriores são mostradas por padrão

                 total       used       free     shared    buffers     cached
    Mem:           31G        30G       539M       1.1G       2.2G        15G
    -/+ buffers/cache:        13G        18G
    Swap:          31G       180M        31G
    
  • versões 3.3.9 e anteriores, com -o , show

                 total       used       free     shared    buffers     cached
    Mem:           31G        30G       549M       1.1G       2.2G        15G
    Swap:          31G       180M        31G
    
  • versões 3.3.10 e posteriores mostram apenas

                  total        used        free      shared  buff/cache   available
    Mem:            31G        7.8G        525M        1.1G         23G         22G
    Swap:           31G        180M         31G
    
  • As versões 3.3.10 e posteriores também possuem um modo de saída amplo, -w , que mostra

                  total        used        free      shared     buffers       cache   available
    Mem:            31G        7.8G        531M        1.1G        2.2G         20G         22G
    Swap:           31G        180M         31G
    

(Tudo isso está no mesmo sistema; observe como a contabilidade é mais precisa com as versões posteriores).

    
por 07.04.2016 / 15:45