Linux便利コマンド : w

うめだ
2023-11-17
2023-11-17
目次

はじめに

みなさま、wコマンドを活用されてますでしょうか?

サーバーにログインしているユーザーが表示され、かつユーザーが実行しているプロセスも確認できるコマンドです。

サーバーを運用管理するなかで、高負荷等のアラートを検知した際、誰かログインして負荷のかかる処理でも実行しているんじゃないかと、私が真っ先に実行するコマンドとなっています。

今回はそんなwコマンドを紹介します。

環境

OS : AlmaLinux 8
wバージョン:3.3.15

使い方

$ w

 21:41:02 up 78 days, 12:14,  1 user,  load average: 0.19, 0.23, 0.19
USER     TTY      FROM        LOGIN@   IDLE   JCPU   PCPU WHAT
hogehoge pts/0    192.0.2.10  21:24   59.00s  7.03s  1.48s top
fugafuga pts/1    192.0.2.20  21:57    1.00s  2.78s  0.53s w

$

こんな感じで一覧が表示されます。

hogehogeユーザーがSSHログインして、topコマンドを実行していることがわかりますね。

「USER」はユーザー名で、
「TTY」は利用している端末名となります。
「FROM」は接続元ホスト名 or IPアドレスです。
「LOGIN@」がログインした時間で、
「IDLE」がログイン後何もしていない時間だそうです。

「JCPU」は該当端末に接続されている全てのプロセスによって使用されている時間とのことで、
「PCPU」は現在実行しているプロセスによって使用された時間となります。
「WHAT」は実行しているコマンド名になります。


また、見ていただくとわかるように、ログインユーザーと実行中のプロセス以外に、
uptimeやロードアベレージも確認することができます。

これらの情報も、サーバーを運用管理するなかで、重要な情報となってきますね。


なお、wコマンドのオプションとしては、以下のものが用意されています。

man w 抜粋

COMMAND-LINE OPTIONS

       -h, --no-header
              Don't print the header.
       -u, --no-current
              Ignores  the username while figuring out the current process and cpu times.  To demonstrate this, do
              a "su" and do a "w" and a "w -u".

       -s, --short
              Use the short format.  Don't print the login time, JCPU or PCPU times.

       -f, --from
              Toggle printing the from (remote hostname) field.  The default as released is for the from field  to
              not  be  printed,  although your system administrator or distribution maintainer may have compiled a
              version in which the from field is shown by default.

       --help Display help text and exit.

       -i, --ip-addr
              Display IP address instead of hostname for from field.

       -V, --version
              Display version information.

       -o, --old-style
              Old style output.  Prints blank space for idle times less than one minute.

       user   Show information about the specified user only.

この手のオプションは正直、使ったことはありません...


まとめ

いかがでしたか?

サーバーで高負荷のアラートを検知した場合に、私が真っ先に実行するコマンドの紹介でした。

wコマンドをぜひ活用ください。