Kacam.net

장애 조사

内存一周涨满一次,重启就好

内存一周涨满一次,靠每周三凌晨重启扛着,已经两个月了。

프롬프트를 복사한 뒤 한 곳을 고르세요. 답을 늘어놓는 대신 면접관이 되어 장면마다 캐묻습니다.

앱이 설치된 휴대폰이면 시스템이 바로 앱을 엽니다. 위챗 안에서는 외부 앱을 열 수 없으니 먼저 브라우저로 여세요.

「重启就好」很容易让人直接归成「泄漏」,然后一头扎进「找哪个对象没释放」——而这一份的真相不在那个方向上。

内存一直涨至少是三种完全不同的东西,处理办法也完全不同。先分家,再往下走,顺序是固定的:堆内还是堆外 → 直方图 → 持有链。跳过前两步直接猜「是不是 ThreadLocal」,是这类问题上最常见的浪费。

现场里正好摆着两个教科书上的经典嫌疑人等你扑上去。

★★★★☆ · 약 35분 · 무엇을 보는가: 先分三种、堆内还是堆外、直方图与持有链

이 편이 단련하는 동작

도구를 쓸 줄 알기 가설 세우고 검증

이 문제 해봤나

로그인하면 이 문제를 해봤다고 기록할 수 있습니다. 다음에 오면 언제 했는지 보입니다.

해본 사람들의 기록

아직 아무도 쓰지 않았습니다. 해본 뒤에 무엇이 나왔는지 적어 주세요 — 어느 장면에서 막혔는지, 나중에 바꾼 결론은 무엇인지.

로그인 후에 기록을 남길 수 있습니다.

사용법

현장(무슨 서비스인지, 증상, 언제부터, 영향 범위)을 준 다음 입을 다뭅니다. 당신이 질문하고 지표·로그·패킷을 요구하고 가설을 내면, 보이지 않는 진상대로 답합니다.

**다음에 어디를 봐야 하는지 먼저 알려주는 것은 금지되어 있습니다.** 묻지 않으면 말하지 않습니다, 당신이 십 분을 헤매도. 의도적입니다: 현실에서 옆에서 「플레임 그래프를 보지 그래」라고 말해 주는 사람은 없습니다. 장애 조사 능력이란 곧 「무엇을 물어야 할지 떠올리는」 능력입니다.

시작하는 법

  1. 하나 골라서 열고, 프롬프트를 복사합니다.
  2. 새 빈 대화에 붙여 넣습니다.
  3. 현장을 주고 멈춥니다 —— **이제 당신 차례입니다.**

도중에 언제든 외칠 수 있는 네 가지 명령

  • 给个方向 답이 아니라 방향만 (횟수에 집계됨)
  • 公布真相 진상을 밝히고 마무리
  • 换一个 다른 장애로 다시 시작
  • 复盘 바로 마무리하고 회고 카드 출력

세 가지 함정

  • 끝에 있는 진상을 먼저 읽지 마세요 —— 읽으면 이 편은 연습이 되지 않습니다.
  • 원인부터 찍지 마세요. 먼저 범위를 정합니다(얼마나 / 어느 부분 / 언제부터). 범위가 코드 문제인지 환경 문제인지를 알려 줍니다.
  • 모든 현장에 가짜 단서를 심어 두었습니다: 같은 시각의 무관한 배포, 원인이 아니라 결과인 지표, 교과서 속 용의자. 마무리 카드에서 각각에 몇 문항을 썼는지 알려 줍니다.

처음이라면 「P99가 3초」부터. 진단 사슬이 가장 깔끔합니다. 다음은 「일부 장비만」—— 여기서 배우는 한 줄이 가장 두루 쓰입니다. 「간헐적 타임아웃」은 나중에, 답이 당신 시스템 밖에 있습니다. 「리포트 불일치」는 시스템 지식이 없어도 됩니다.