LoginSignup
111
114

More than 1 year has passed since last update.

「何もしていないのに壊れました」に対抗する、その原因として確かめたいチェックリスト

Last updated at Posted at 2021-05-18

テクニカルサポート時に甚だ告げられる表題の事象について、どう言った点を私はあるいは世の中ではまず確認して頂いているか、原因と対処法についてまとめたもの。お気に入りのテクニカルサポート集付。

原因

1. 使いすぎていた

使いすぎてメモリを消費しすぎていた。
再起動。メモリを綺麗にして、起動中のプロセスを終了させることができる。

「Javaプログラムで再起動を行う」ことの意味

  • (略) 徐々に、世代の古いオブジェクト用ヒープ領域にもオブジェクトが蓄積されていく。一般的に、このヒープ領域用にはメモリーを大きく確保しておき、空き容量が不足しないように運用するが、それでも長期間稼働するうちに、空き容量がなくなってしまうこともある。

  • そうなると、本来の処理を行っているスレッドをすべて止めて、対象となるメモリー領域にロックをかけ、「再配置」「アドレスつけかえ」「管理テーブルのメンテナンス」などを行う必要が生じる。これが、「FullGC」。

  • メモリーの状況によりこの処理時間がわからないので、しばらくの間システムとしての処理が止まってしまう。このことで、システムそのもののレスポンスが悪くなったり、場合によってはまったく反応しなくなったりといったことが発生する。

「システムそのものを1から再起動してメモリー空間を綺麗な状態に戻し、Full GCを発生させないために行う、“トラブル予防の一環”なのである。」

他、同様に、ブラウザのタブを閉じる。ビジュアルエフェクトを最小限にする。デフラグを行う、等 が「使いすぎていた」文脈では使われる回避策。「シャットダウン」と「再起動」はWindows 10の終了時にPCへ保存されるデータが異なり、その後に起動するときの動作に違いが出る なども豆知識。本当にメモリリークしていないかどうかはもちろん調べる。

2. ディスク容量を消費しすぎていた

いつの間にかログが溜まっていた。キャッシュが溜まりすぎていた。linux のdisc容量調査windows10 ディスク容量削減方法まとめ など参照。ディスク空き容量を監視する を見つつ、Webhook などで通知してみると良さそう。

データベースにおいてデータが増えすぎていた。それにより取得されるデータが変わった、も起こる。

3. 自動更新した

仮にそれがトラブルの引き金ならば、Ubuntuの自動アップデートを止める
Windows Update の設定 など参照。
ウィルスソフト等の常駐ソフトが動作していた。その他常駐ソフトを整理する。使用していないアドオンを整理する。使用していないソフトをアンインストールする。

「iOS 16にアプデしないで」 プロセカなどリズムゲームが注意喚起 タップの仕様変更でプレイしにくく - ITmedia NEWS

4. 時間、時刻により起こった

そもそも稼働時間外、サポート時間外だった。サービスが起動していなかった。
世間的には利用料の支払い状況を確認。未払いの場合、利用停止 等となることがあるようだ。

5. 一時的な障害が起こった

回線業者やプロバイダーがメンテナンス中・障害発生中だった。基盤の一時的障害だった。障害サイトや、広範なものなら広報Twitter等を確認する。
Downdetector: https://downdetector.jp/
Google Workspace ステータス ダッシュボード
Status Slack

6. 熱を持ちすぎていた

部屋が暑すぎた。熱はCPUなどのパフォーマンスを抑える。当然パソコンが重くなってしまう。例えば部屋の換気をしたり、エアコンや扇風機を使ったり、ノートパソコンなら専用のクーラーを使用したりする。サーバを熱障害から守れ!深刻さが増すサーバの熱問題とその解決方法 等を参考。

7. 権限が違っていた

別のログインユーザで操作していた。別のアカウントで操作していた。
コマンドの間違い、コマンド投入者の権限不足だった。
普段は一般ユーザで起動していたが、誤作動時は管理者ユーザで起動していた。
Windows 10 でローカルのユーザー アカウントまたは管理者アカウントを作成する
開発者のための、Windows Vista における新しいセキュリティ機能に関する概要 (UAC)

8. 操作手順が違っていた

普段はショートカットメニューから起動していたが、誤作動時は直接起動していた。
普段は外部スクリプトから起動していたが、誤作動時は直接起動していた。
ファイアウォール のON/OFFをなんとなく切り替えていた。
引数が違っていた、もある。
eclipseでvm変数を引き渡して実行

9. 似たような別のものを触っていた

怖いけどある。普段はVersion Xを起動していたが、誤作動時はVersion Yを起動していた。
普段はテスト環境 Aを触っていたが誤作動時は Bを触っていた。
ブラウザが違っていた。ChromeではなくIEを使っていた。
我々が思う「何もしていない」と向こう側の「何もしていない」は違う。

10. ほかの誰か、何かが触っていた

これも怖いけどある。他のチームの人が作業をしていた。
同居人、犬、猫、子どもが留守中に触っていた。
本当に、事象が起こり始める前と後で誰も何もしていないのか、確認する。

電源アダプター、電源ケーブル、LANケーブルがぐらついていた。
ぐらついていないか、抜けていないか確認する。

11. 画面が最小化されていた

画面が出なくなっちゃったよう、と言われ、私はこれで顧客先に出向いたことがある。

12. 電池が切れていた

家庭では、これで2歳児によく怒られる。

カスタマーサポート、ヘルプセンター集

さて、本当に書きたかった結論は以下である。

技術的なお問い合わせに関するガイドライン (AWS) ... 良い資料として話題。
急にインターネットがつながらなくなりました。原因が不明です。(buffalo)
Nintendo Switch サポート こんなときに故障するかも……
LINE ヘルプ
Slack help center
Slack status (Twitter)
Apple サポートへようこそ
マイクロソフトサポート (Twitter)

他、SRE Books 等など、Tips を配信している者たち。その工夫から学びよりよいテクニカルサポートを行いたい。オンコール対応 等。

その他参考

オンライン

【学習メモ】みんなが知っておくべき運用設計のノウハウ
運用要件を調べてみた

書籍

入門 監視 ―モダンなモニタリングのためのデザインパターン
みんなが知っておくべき運用設計のノウハウ
[24時間365日]サーバ/インフラを支える技術 ……スケーラビリティ、ハイパフォーマンス、省力運用
システムはなぜダウンするのか
みずほ銀行システム統合、苦闘の19年史 史上最大のITプロジェクト「3度目の正直」

番外編: サポートのお世話にならないために

良い質問をしたい人のための質問テンプレート、不吉なワードチェックリスト、15分ルール ... ログを残す。メンテナンス・障害情報を確認する。
何もしてないのに壊れたとは (ナニモシテナイナラコワレナイとは) [単語記事] - ニコニコ大百科
件名や本文に「緊急」等と記載されても、緊急度は上がりません
途中からポエムが混じってしまったが、なによりの対処法。まず落ち着いてもらう が大事ですね。そしてそれでも解決しなかったときはテクニカルサポートに...

以上、なにがしかの参考になればさいわいです。

111
114
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
114