Wie erkennt man außergewöhnlich lange Dateisperren in Linux?

Wie erkennt man außergewöhnlich lange Dateisperren in Linux?

Ich habe einen Streitpunkt auf meinem Linux-Server. Einer von mehreren Prozessen greift auf eine einzelne Datei zu und sperrt die Datei zu einem zufälligen Zeitpunkt für einen längeren Zeitraum (> 60 Sekunden), was wiederum dazu führt, dass andere Dinge fehlschlagen.

Gibt es eine Möglichkeit, zu erkennenWie langeine Datei wurde gesperrt und durch welchen Vorgang?

Antwort1

Ich denke, was Sie suchen, ist die Datei /proc/locks. Es zeigt die aktuellen Dateisperren im System. Dies zeigt nichtwie lange eine Datei gesperrt ist, aber es zeigtdurch welchen Prozess. Vielleicht könnte man in dieser Datei erkennen, wann die Sperre registriert ist und die verstrichene Zeit messen. Ein Beispiel ist dieses:

cat /proc/locks 
1: POSIX  ADVISORY  WRITE 2245 08:06:1182714 1073741824 1073741824
2: POSIX  ADVISORY  WRITE 2245 08:06:1182714 1073741826 1073742335
3: POSIX  ADVISORY  WRITE 3058 08:06:10752740 0 0
4: POSIX  ADVISORY  WRITE 3058 08:06:10752739 0 0
5: POSIX  ADVISORY  WRITE 2421 08:06:10752766 0 EOF
6: POSIX  ADVISORY  WRITE 2421 08:06:11142048 0 EOF
7: POSIX  ADVISORY  WRITE 2421 08:06:9964366 1073741824 1073742335
8: POSIX  ADVISORY  WRITE 2421 08:06:11142040 0 EOF

Wo sich die Spalten befinden:

  • Erste: sperren #.
  • Zweite: Sperrtyp (POSIX, wenn die Sperre mit erstellt wurde fcntlund FLOCKwenn mit erstellt wurde flock).
  • Dritte: Sperrmodus (EMPFEHLEND oder OBLIGATORISCH)
  • Viertens: Sperrtyp (SCHREIBEN oder LESEN), entsprechend gemeinsam genutzten oder exklusiven Sperren.
  • Fünfte: PID des Prozesses mit der Sperre.
  • Sechste: Drei durch 1 getrennte Zahlen : , die die gesperrte Datei identifizieren.
  • Siebte: Startbyte der Sperre.
  • Achte:Endbyte der Sperre

Antwort2

Sie können das Alter einer Sperrdatei einfach anhand des Zeitstempels ihrer Erstellung ermitteln. Ähnlich verhält es sich, wenn Sie „cat logfile.name“ eingeben. Der einzige Inhalt dieser Datei ist häufig die Prozess-ID, die die Datei erstellt hat.

verwandte Informationen