¿Qué significa la columna DATOS de TOP?

¿Qué significa la columna DATOS de TOP?

Estoy tratando de descubrir los significados de todas las diferentes clasificaciones de memoria, como VIRT, RES, SHR y DATA. Si bien generalmente entiendo los primeros 3, no tengo idea de qué significa la columna DATOS aparte de su definición oficial como DATOS = Datos+Tamaño de pila (kb). ¿Cómo se relaciona esto con las otras 3 clasificaciones de memoria?

Respuesta1

De acuerdo ahttps://techtalk.intersec.com/2013/07/memory-part-2-understanding-process-memory/:

El kernel calcula ese campo como una diferencia entre dos variables: total_vm, que es lo mismo que VIRT yshared_vm. Shared_vm es de alguna manera similar a SHR en que comparte la definición de memoria compartible, pero en lugar de contabilizar solo la parte residente, contiene la suma de toda la memoria respaldada por archivos direccionada. Además, el recuento se realiza en el nivel de mapeo, no en el de la página, por lo que share_vm no tiene la misma sutileza que SHR para la memoria respaldada por archivos privados modificados. Como consecuencia,shared_vm es la suma de los cuadrantes 2, 3 y 4. Esto significa que la diferencia entre total_vm yshared_vm es exactamente el contenido del cuadrante 1.

La columna DATOS contiene la cantidad de memoria anónima privada reservada. Por definición, la memoria privada anónima es la memoria específica del programa y que contiene sus datos. Solo se puede compartir bifurcando en forma de copia en escritura. Incluye (pero no se limita a) las pilas y el heap2. Esta columna no contiene ninguna información sobre cuánta memoria utiliza realmente el programa, solo nos dice que el programa reservó cierta cantidad de memoria; sin embargo, esa memoria puede permanecer intacta durante mucho tiempo.

Respuesta2

De las 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.

En otras palabras, la memoria se utiliza para almacenar datos variables de sus programas (no programas ejecutables).

Diga me gusta y la matriz en la memoria son datos variables.

También stack sizees, como dicen las palabras, el tamaño de la pila que utiliza el sistema para ejecutar el programa en particular. La pila es donde el sistema almacena el rastreo de las funciones que llama su programa/proceso. Tenga en cuenta que esta métrica indica el tamaño de la pila y no la pila en sí.

Más sobre las otras columnas de memoria que mencionaste.aquí

Respuesta3

Desde la página de manualaquí.

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.

información relacionada