各トラブル時の確認、対処方法

各トラブル時の確認、対処方法

CPUの負荷の状態を見る

CPUの負荷の状態は、wコマンドやuptimeコマンド、topコマンドなどを利用します。
これらコマンドが表示するロードアベレージを見ると、サーバーの負荷状態がわかります。

ロードアベレージは、CPUやI/Oを必要としているプロセスの数の平均値。
【簡単な目安】ロードアベレージが1を超えるとサーバーは忙しい状態で、1未満の場合は問題ない。
ロードアベレージがひどく上がっている場合は、何かのプロセスが暴走していると考えるべき

プロセスの状態を見る

CPUに負荷がかかっていることが確認できたら、負荷をかけているプロセスを探して、
場合によってはプロセスを終了させる必要があります。
プロセスの状態は、psコマンドやtopコマンドで見ることができます。

書式

ps [options] すべてのプロセスの詳細を表示する(ユーザ名表示)

[root@localhost ~]# ps axu
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1     0.1       0.3 125484  3912   ?          Ss     13:45    0:03  /usr/lib/system
root         2     0.0       0.0          0        0   ?          S       13:45    0:00  [kthreadd]
root         4     0.0       0.0          0        0   ?          S<     13:45    0:00  [kworker/0:0H]

トラブルが起こったとき

psコマンドの表示項目

ずっとCPU利用率が99%だったり、メモリの利用率が異常に増大しているプロセスは暴走している可能性があります。

プロセスの状態の監視

topコマンドを起動すると、3秒おきに画面が更新され、CPU使用率が大きい順で表示されます。
更新間隔や表示内容、表示順などは設定ファイルで変更できます。
終了するときはqキーを押します。

[root@localhost ~]# top

プロセスを強制終了させる

暴走してしまったプログラムは、強制終了させることができます。

①psコマンドを入力

[root@localhost ~]# ps axu | grep cupsd
 root      4121  0.0  0.0 112728   968 pts/0    R+   14:36   0:00 grep --color=auto cups

書式

kill プロセス番号(PID)該当のプロセス番号のプロセスを終了する

[root@localhost ~]# kill 4121

ネットワークカードの状態を見る

ipコマンドを使うと、ネットワークカードの状態を見ることができます。
MACアドレスやカードに割り当てているIPアドレス、イーサーネットの情報などが観察できます。

[root@localhost ~]# ip -s addr

3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:00:fc:9b brd ff:ff:ff:ff:ff:ff 
    inet 192.168.135.129/24 brd 192.168.135.255 scope global noprefixroute dynamic ens37
       valid_lft 1438sec preferred_lft 1438sec
    inet6 fe80::853f:8fa5:42f1:939e/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    44966      571      0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    801025     673      0       0       0       0

ログを確認する

Linuxでは、各種サーバーの動作やカーネルのメッセージがログファイルに記録されます。
システムの管理者はログを見ることでさまざまな情報を得ることができます。

ログの保存場所

ログにはすべてが書かれている

  1. ログファイルの各行の先頭には、タイムスタンプ(日付情報)やホスト名、ログを出力したサーバーの名前などが記録されている。
  2. いつ、どこで、どのサーバーが記録したログなのかわかる。
  3. 無限ではなく一定数のログが保存される。

NEXT>> サーバーのバックアップ