GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man nicht ausgerichteten Speicherzugriff abfangen?

ARM Linux verwaltet eine Liste von Alignment-Handlern Ausnahmen,

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

Es ist nur mit procfs aktiv , aber ein System ohne procfs ist schwer vorstellbar . Der spezifische Code, der dies handhabt, befindet sich in align.c. Sie können echo 3 > /proc/cpu/alignment verwenden um Linux reparieren zu lassen die Anweisung und geben Sie einige dmesg an Ausgang. Im Allgemeinen ist die Handhabung nicht ausgerichteter Zugriffe durch Emulation sehr ineffizient. Es ist besser, den Code zu korrigieren. Das Signal Option mit angehängtem Debugger sollte einen Hinweis auf die Quelle der Ausnahme geben.

Lesen Sie das Handbuch.;-)


Linux kann die Fehlerbehebung für Sie übernehmen oder vor dem Zugriff warnen.

Sie können das Verhalten in /proc/cpu/alignment aktivieren, siehe http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment für eine Erklärung der verschiedenen Werte.

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. Zugriff auf Webmail in Plesk

  2. So löschen Sie den Speichercache in Linux

  3. So greifen Sie auf phpMyAdmin zu

  4. Wie greife ich unter Linux auf physische Adressen aus dem Benutzerbereich zu?

  5. Wie kann ich die Speicherbandbreite beobachten?

So löschen Sie den Auslagerungsspeicher unter Linux

Zugriff auf die UEFI-Firmwareeinstellungen in Windows 10

So deaktivieren Sie Swap dauerhaft unter Linux

Wie greife ich in cPanel auf phpMyAdmin zu?

Wie funktioniert Swap-Speicher in Linux?

Wie kann ich die Speichernutzung profilieren?