Busco una manera de seleccionar las secciones y regiones de memoria incluida en un volcado de memoria.
tamaño del volcado del núcleo de mi solicitud es alrededor de 30 GB, la mayor parte es en tampones preasignados la que ni siquiera se precisa en la depuración (y puede poner a cero después). Sin embargo, dado que el volcado es tan grande, se necesita demasiado tiempo para que la aplicación termine colisionando y comience la recuperación.
Puede alguien pensar en una manera de seleccionar de antemano qué segmentos estarán en el vaciado de memoria?
GraciasVolcado de núcleo selectivo en Linux - ¿Cómo puedo seleccionar las secciones objeto de dumping?
Respuesta
De acuerdo con la página de manual core(5)
, puede establecer qué asignaciones se escribe en el archivo central:
Desde el kernel 2.6.23, el archivo específica de Linux /proc/PID/coredump_filter puede haber utilizado para controlar qué segmentos memoria se escriben en el archivo de volcado de memoria en el caso de que un volcado de memoria es realizado para el proceso con el correspondiente ID de proceso .
El valor en el archivo es una máscara de bits de tipos de asignación de memoria (ver mmap (2)). Si se pone un bit en la máscara, a continuación, se vierten asignaciones de memoria del correspondiente tipo ; de lo contrario, son no objeto de dumping. Los bits de este archivo tienen los siguientes significados:
bit 0 Dump anonymous private mappings. bit 1 Dump anonymous shared mappings. bit 2 Dump file-backed private mappings. bit 3 Dump file-backed shared mappings. bit 4 (since Linux 2.6.24) Dump ELF headers. bit 5 (since Linux 2.6.28) Dump private huge pages. bit 6 (since Linux 2.6.28) Dump shared huge pages.
Por defecto, se establecen los siguientes bits: 0, 1, 4 (si los CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS opción de configuración del núcleo está habilitado), y 5. El El valor de este archivo se muestra en hexadecimal. (El valor predeterminado se muestra así como 33.) Las páginas de E/S mapeadas en memoria, como el búfer de cuadros, nunca se vuelcan, y las páginas DSO virtuales siempre se vuelcan, independientemente del valor de coredump_filter.
...
Este archivo sólo se proporciona si el núcleo fue construido con la opción de configuración CONFIG_ELF_CORE.
No estoy seguro de si es posible establecer qué parte de la memoria vaciar.
De man 5 core
archivo de disco que contiene una imagen de la memoria del proceso en el momento de la terminación
Como opción se puede truncar el archivo de núcleo usando setrlimit
con un parámetro RLIMIT_CORE
.
- 1. Volcado del núcleo en Linux
- 2. Cómo analizar el volcado del núcleo
- 3. Generar volcado del núcleo en Android
- 4. Error de segmentación (núcleo volcado)
- 5. archivos de volcado del núcleo en Linux: ¿cómo obtener información sobre los archivos abiertos?
- 6. Cómo causar un volcado del núcleo en C/C++
- 7. Formato de archivo de volcado de núcleo
- 8. Cómo habilitar el volcado del núcleo en mi programa C++ de Linux
- 9. núcleo de dumping en el BGF en OSX (sin "gcore" o "generar núcleos-archivo")
- 10. Volcado de núcleo mínimo (seguimiento de pila + marco actual solamente)
- 11. Análisis de volcado del núcleo utilizando gdb
- 12. Cómo generar el archivo de volcado del núcleo en Ubuntu
- 13. obteniendo stacktrace del volcado del núcleo
- 14. list.h del núcleo de Linux
- 15. Linux: ¿Snoop una señal sin destrozar los registros para el siguiente volcado de núcleo?
- 16. núcleo volcado, pero el archivo principal no está en el directorio actual?
- 17. ¿Por qué se generan archivos de volcado de núcleo?
- 18. Java tiene un núcleo 39G volcado
- 19. ¿Qué partes del núcleo de Linux puedo leer para divertirme?
- 20. Windbg - dumping System.Guid
- 21. Cronometraje en el núcleo de Linux 2.6
- 22. Solicitar el volcado del he va en java (volcado del núcleo) desde la aplicación
- 23. ¿Cómo puedo separar las secciones en un archivo INI?
- 24. Abstruse macro #define encontrado en las fuentes del núcleo Linux
- 25. Cómo funciona NOHZ = Encendido do_timer en el núcleo de Linux
- 26. ¿Cómo obtener las secciones visibles de UITableView?
- 27. Framebufting selectivo
- 28. ¿Cómo se usa una memoria virtual aproximada (VSZ) utilizando un volcado de núcleo y gdb en Linux?
- 29. cómo usar CryptoAPI en el núcleo de Linux 2.6
- 30. por proceso directorio de volcado del núcleo configurable
Gracias. Exactamente lo que estaba buscando. –