Como detectar bloqueios de arquivos excepcionalmente longos no Linux?

Como detectar bloqueios de arquivos excepcionalmente longos no Linux?

Eu tenho um ponto de discórdia no meu servidor Linux. Um entre vários processos acessa um único arquivo e o bloqueia em um momento aleatório por um período considerável (>60 segundos), o que, por sua vez, faz com que outras coisas falhem.

Existe uma maneira de detectarquanto tempoum arquivo foi bloqueado e por qual processo?

Responder1

Acho que o que você está procurando é o arquivo /proc/locks. Mostra os bloqueios de arquivos atuais no sistema. Isso não mostrahá quanto tempo um arquivo está bloqueado, mas mostrapor qual processo. Talvez você possa detectar quando o bloqueio é registrado neste arquivo e medir o tempo decorrido. Uma amostra é esta:

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

Onde estão as colunas:

  • Primeiro: trancar #.
  • Segundo: tipo de bloqueio (POSIX se o bloqueio foi criado com fcntle FLOCKse criado com flock.
  • Terceiro: modo de bloqueio (CONSULTIVO ou OBRIGATÓRIO)
  • Adiante: Tipo de bloqueio (WRITE ou READ), correspondente a bloqueios compartilhados ou exclusivos.
  • Quinto: PID do processo com bloqueio.
  • Sexto: Três números separados por : aquele que identificou o arquivo bloqueado.
  • Sétimo: Byte inicial do bloqueio.
  • Oitavo:Byte final do bloqueio

Responder2

Você pode saber a idade de um arquivo de bloqueio simplesmente observando o carimbo de data e hora em que ele foi criado. Da mesma forma, se você "cat logfile.name", muitas vezes ele terá, como único conteúdo, o ID do processo que o criou.

informação relacionada