UNIXの部屋 コマンド検索: average

TOP UNIXの部屋 コマンド一覧 コマンドマニュアル 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識


検索 :
複数のキーワードを空白で区切ると AND 検索を行います。例:「ファイル 削除」


キーワード average:   3 件ヒットしました。

見出しではヒットしなかったので、全文を対象に再検索しました。


コマンド
strings ファイルから文字列と思われる部分を探して表示する。
top プロセスの状態をリアルタイムに表示
uptime ホストの情報を表示

strings ファイルから文字列と思われる部分を探して表示する。

それって何の役に立つんだ、と思うかもしれないが、
  • ソースやマニュアルのないプログラムのオプションを探す
  • ソースやマニュアルのないプログラムのバージョンを調べる
などの用途がある。例えば bind (実行ファイル名は named) のバージョンは、オンラインマニュアルに記述されておらず、-v や --version などのオプションも存在しない。そういうときは
% strings /usr/sbin/named | grep 'named [0-9]'
@(#)named 4.9.7-T1B Wed Jul 22 06:46:59 GMT 1998 ....
named 4.9.7-T1B Wed Jul 22 06:46:59 GMT 1998
などと、バイナリファイルから直接文字列を拾い出すことができる。

-n num 表示する文字列の最低限の長さを指定する。
例えば -n 10なら10文字以上の文字列を拾い出して表示する。デフォルトは4。
-f 拾い出した文字列とともに、ファイル名も表示する。
例えば、どのコマンドかはわからないが `load average' という文字列を含むコマンドを調べたいときは
% strings -f /usr/bin/* | grep -i 'load average'
/usr/bin/top:load averages
/usr/bin/uptime:, no load average information available
/usr/bin/uptime:, load averages:
/usr/bin/w:, no load average information available
/usr/bin/w:, load averages:
とすればよい。-f オプションを付けないと、どのコマンドに含まれている文字列なのかが表示されない。

また、バイナリデータなのかバイナリプログラムなのかわからない、得体の知れないファイルの正体を調べるときにも使われる。file コマンドも併用すべし。
>> コマンド file *

top プロセスの状態をリアルタイムに表示

メモリ消費量、スワップ消費量、各プロセスのプロセスID、メモリ消費量などを知ることができる。

top コマンドを実行すると、以下のような表示になり、数秒おきに新しい情報表示される (下記例は FreeBSD の top コマンド)。
last pid:  5729;  load averages:  0.56,  0.26,  0.11                up 0+06:03:47  02:08:36
63 processes:  1 running, 61 sleeping, 1 stopped
CPU states:  4.7% user,  0.0% nice,  1.2% system, 24.1% interrupt, 70.0% idle
Mem: 65M Active, 34M Inact, 15M Wired, 6328K Cache, 8346K Buf, 1876K Free
Swap: 350M Total, 350M Free

  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
 5715 root      -2   0   876K   556K getblk   0:11  3.76%  3.76% find
  339 zxr400     2   0 19424K 17580K select  11:01  3.08%  3.08% XF86_SVGA
 5723 zxr400     2   0  6408K  4720K select   0:00  0.54%  0.34% mule-19.34
  213 root       2   0   804K   432K select   0:26  0.20%  0.20% moused
  486 zxr400     2   0 25396K 18164K select   4:17  0.10%  0.10% communicator-4
  348 zxr400     2   0  2924K  2264K select   0:20  0.00%  0.00% kterm
  ....


特によく確認すべき箇所は以下のとおり。
ロードアベレージ
load averages: 0.56, 0.26, 0.11
メモリ/スワップ使用量
Mem: 65M Active, 34M Inact, 15M Wired, 6328K Cache, 8346K Buf, 1876K Free
Swap: 350M Total, 350M Free

また、下部に表示されるプロセス情報の見方は以下のとおり (FreeBSD の top。説明文は FreeBSD の top(1) より流用)。
PID プロセス ID
USERNAME プロセス所有者名 ( -u 指定時は UID カラムが USERNAME に取って替わる)、
PRI 現在のプロセス優先度
NICE nice 値 (-20 から 20 までの範囲)
SIZE プロセスサイズの合計 (text, data, stack)
RES 現在のメモリ常駐量 (SIZE と RES はいずれもキロバイト単位)
STATE 現在の状態 ("sleep", "WAIT", "run", "idl", "zomb", "stop" のいずれか)
TIME プロセスが消費したシステム時間およびユーザ時間の秒数
WCPU (もしあれば) 重み付き CPU パーセンテージ (これは ps(1) が CPU として表示するものと同じ)
CPU 生のパーセンテージで、プロセス順序を決めるソート処理に用いられるもの
COMMAND プロセスが現在実行しているコマンド名です (もしプロセスがスワップアウト中なら、このカラムには "<swapped>" という印がつく)

オプション
-S swapper、pagedaemonなども表示する
-I アイドル状態のプロセスを表示しない
-d 秒数 指定の秒数が経過すると自動的に終了する
-U ユーザ名 指定のユーザ名のプロセスのみを表示
>> コマンド ps *   xcpustate *   xsysinfo *   xsysstats *   uptime *

uptime ホストの情報を表示

% uptime
2:01AM up 3:04, 4 users, load averages: 1.30, 1.08, 1.05
現在の時刻は午前 2:01、ホストが起動してから 3:04 経過、ログインしているユーザは4人、1分前、5分前、15分前から現在までのロードアベレージ (システムの負荷) はそれぞれ 1.30 1.08 1.05。
>> コマンド top *   rup *