webエンジニアがトラブル対応時にサーバ管理で使うコマンド
今日id:akio0911さんと話す時、uptimeを話してたのがきっかけで作ってみました。
とりあえず覚えておきたいサーバ管理とかトラブル対応時によく使うコマンドのリスト。
それぞれのコマンドの細かい意味はman参照。
コマンドの存在を知らないとヘルプすら参照できないので、
コマンドの存在を知ってもらうのが中心の目的です。
- 状況確認系
- top
- タスクの動きをリアルタイムで確認する。
- 重いプロセス把握
- uptimeとかfreeと同じ情報も把握できるので、最悪これだけ覚えてれば
- uptime
- 現在の時刻、システムが稼働し続けている期間、現在ログインしているユーザーの数、過去 1, 5, 15 分のシステムの平均負荷を表示。
- CPU使用率をチェックするのに使う。
- サーバが重いとか言われるとコレでcpu使用率チェック
- free
- メモリの使用領域と空き領域をチェック
- 重い時はcpuかメモリですよね。
- df
- マウントされてるボリュームのファイル容量をチェック
- 上の意味が分かんない人向けの解説→HDDの空き容量チェック
- df -h で容量を見やすく出してくれる。
- top
- 負荷の高いプロセスの停止/起動時に使うコマンド
- ps
- プロセスをみる。
- ps -ef か ps auxで使う。
- 動いてるプロセスのCPU使用率とかメモリ消費量とか。pidとか確認
- kill
- プロセスを殺す(停止)。
- kill pid で殺す(停止)。
- kill -signal pid
- 止まらない時はkill -9 pid
- /etc/init.d/XXXX restart
- プログラムを停止/開始
- /etc/init.d/apache2 stop や /etc/init.d/apache2 restart でアパッチ停止/再起動とか*1
- /etc/init.d/mysqldだったり、サービス毎にあります。
- 無い場合はPG毎に探す。
- which command
- コマンドの場所を確認。
- which ls で lsの配置場所がかえってきます。
- パス通ってないと意味が無いけど、知らない環境で探すのに便利ですよ。
- ps
- エラーログチェック用PGチェック用