O que significa a coluna DATA do TOP?

O que significa a coluna DATA do TOP?

Estou tentando descobrir o significado de todas as diferentes classificações de memória, como VIRT, RES, SHR e DATA. Embora eu geralmente entenda os três primeiros, não tenho ideia do que a coluna DATA significa além de sua definição oficial como DATA = Data+Stack size (kb). Como isso se relaciona com as outras três classificações de memória?

Responder1

De acordo comhttps://techtalk.intersec.com/2013/07/memory-part-2-understanding-process-memory/:

Esse campo é calculado pelo kernel como a diferença entre duas variáveis: total_vm que é igual a VIRT e shared_vm. shared_vm é de alguma forma semelhante ao SHR no sentido de que compartilha a definição da memória compartilhável, mas em vez de contabilizar apenas a parte residente, contém a soma de toda a memória suportada por arquivo endereçada. Além disso, a contagem é feita no nível do mapeamento, não na página um, portanto, shared_vm não tem a mesma sutileza que SHR para a memória suportada por arquivo privado modificado. Como consequência, shared_vm é a soma dos quadrantes 2, 3 e 4. Isso significa que a diferença entre total_vm e shared_vm é exatamente o conteúdo do quadrante 1.

A coluna DATA contém a quantidade de memória anônima privada reservada. Por definição, a memória anônima privada é a memória específica do programa e que contém seus dados. Ele só pode ser compartilhado bifurcando-se no modo copy-on-write. Inclui (mas não está limitado a) as pilhas e o heap2. Esta coluna não contém nenhuma informação sobre quanta memória é realmente utilizada pelo programa, apenas nos informa que o programa reservou alguma quantidade de memória, porém essa memória pode ficar intacta por muito tempo.

Responder2

Nas páginas de manual:

 s: DATA  --  Data+Stack size (kb)
 The amount of physical memory devoted to other than executable code, also known  as
 the ’data resident set’ size or DRS.

Em outras palavras, memória usada para armazenar dados variáveis ​​de seus programas (não programas executáveis)

Diga like e Array na memória são dados variáveis.

Também stack sizeé como as palavras dizem, o tamanho da pilha que o sistema está usando para executar o programa específico. A pilha é onde o sistema armazena o rastreamento das funções que seu programa/processo está chamando. Tenha em mente que esta métrica indica o tamanho da pilha e não a pilha em si.

Mais sobre as outras colunas de memória que você mencionouaqui

Responder3

Da página de manualaqui.

The amount of private memory **reserved** by a process.  It is also
known as the Data Resident Set or DRS.  Such memory may not yet
be mapped to physical memory (RES) but will always be included in
the virtual memory (VIRT) amount.

informação relacionada