GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo atrapar el acceso a la memoria no alineado?

ARM Linux mantiene una lista de controlador de alineación excepciones,

$ cat /proc/cpu/alignment 
User:           0
System:         0
Skipped:        0
Half:           0
Word:           0
DWord:          0
Multi:          0
User faults:    0 (ignored)

Solo está activo con procfs , pero es difícil imaginar un sistema sin procfs . El código específico que maneja esto está en alineación.c. Puedes usar echo 3 > /proc/cpu/alignment tener Linux reparación la instrucción y proporciona algunos dmesg producción. Generalmente, el manejo de accesos no alineados a través de la emulación es muy ineficiente. Es mejor corregir el código. La señal La opción con un depurador adjunto debería dar alguna pista sobre el origen de la excepción.

Lea el manual.;-)


Linux puede hacer la reparación por usted o advertirle sobre el acceso.

Puede habilitar el comportamiento en /proc/cpu/alignment, consulte http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment para obtener una explicación de los diferentes valores.

0 - Do nothing (default behavior)
1 - Warning in kernel-log with PC and Memory-Address printed.
2 - Fixup error
3 - Warn and Fixup
4 - Send a SIGBUS to the process
5 - Send SIGBUS and output Warning

Linux
  1. Cómo acceder a cPanel

  2. ¿Cómo acceder a direcciones físicas desde el espacio de usuario en Linux?

  3. ¿Cómo puedo observar el ancho de banda de la memoria?

  4. ¿Cómo limitar el uso de la memoria de la aplicación?

  5. ¿Cómo reducir el uso de memoria de ClamAV?

Cómo borrar la memoria de intercambio en Linux

Cómo acceder a la configuración del firmware UEFI en Windows 10

Cómo deshabilitar permanentemente el intercambio en Linux

¿Cómo acceder a phpMyAdmin en cPanel?

¿Cómo funciona el intercambio de memoria en Linux?

¿Cómo perfilar el uso de la memoria?