041234567891011121314151617181920212223242526272829303106

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- (--) 】 スポンサー広告 | TB(-) | CM(-)

vimのマニュアル

先日、sarのマニュアルの日本語訳を書いていて気が付いた。実はLinux JMプロジェクトで、大事なコマンドのいくつかは取り上げられてないという事実。

たとえばvimやemacs。


驚きでしょ。

という事で、vimのマニュアルも訳してみる。実際に「使える」情報は、オンラインヘルプを見よと言って逃げてるというか、コンパクトに抑えてるので、このmanページだけ見てもあまり参考にならないかもしれないが...

vim



名前



vim - Vi Improved (改良版)、プログラマ向けテキストエディタ

書式



vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]


ex
view
gvim gview evim eview
rvim rview rgvim rgview


説明



vimはViの上位互換のテキストエディタである。あらゆる種類のプレーンテキストファイルを編集できる。プログラムの編集に特に便利である。


複数回アンドゥ、複数ウィンドウ・バッファ、シンタックス・ハイライト、コマンドライン編集、ファイル名補完、オンラインヘルプ、ビジュアルな選択など、Viに対して追加された様々な機能強化が加えられている。vimとViの間の違いについてのサマリを見る場合は、":help vi_diff.txt"を参照。


vimを実行中でも、":help"コマンドにより、様々なオンラインヘルプを参照可能である。下記の「オンラインヘルプ]
セクションを参照。


ほとんどの場合、vimは編集対象のファイル名を一つ指定して起動される。


vim file


一般的には、vimはこのように実行される。


vim [options] [filelist]


Filelistが指定されない場合、エディタは空のバッファで起動される。そうでない場合は、下記の4種類のうちの一つが、一つ以上の編集対象ファイルに対し行われる。


file ..
ファイル名のリスト。一つ目のファイルが現在対象のファイルとなりバッファへ読み込まれる。次のファイルへは":next"コマンドで移動できる。ダッシュで始まるファイルを編集する場合は、ファイルリストの前に"--"を指定する。


-
編集対象のファイルは標準入力から読み込まれる。コマンドは標準エラー出力(ttyであるべき)から読み込まれる。


-t {tag}
編集対象のファイルや初期カーソル位置はgotoラベルのような"tag"に依存する。{tag}がtagsファイルから読み込まれ、関連するファイルが現在対象のファイルとなり、関連するコマンドが実行される。多くの場合は、この機能はCプログラムを対象に使われ、その場合は{tag}は関数名であろう。その場合の効果としては、その関数を含むファイルが現在対象のファイルとなり、カーソル位置は関数の冒頭になる。":help tag-commands"を参照。


-q [errorfile]
即席修理モードで開始する。[errorfile]が読まれ、一つ目のエラーが表示される。[errorfile]が省略された場合は、ファイル名は'errorfile'オプション(デフォルトはAmigaの場合"AztecC.Err"、それ以外のシステムの場合は"errors.err")から取得される。それ以降のエラーへジャンプする場合は、":cn"コマンドを使用する。":help quickfix"を参照。


vimは(実行ファイルは同じものであっても)コマンド名に応じて動作を変える。

vim
「通常の」方法での使用。全てがデフォルトの状態。


ex
Exモードでの実行。通常モードへの移行は":vi"コマンドを使用する。引数に"-e"を指定する事によっても可能。


view
読み取り専用モードでの実行。ファイルの上書きから保護される。引数に"-R"を指定する事によっても可能。


gvim gview
GUIバージョン。新しいウィンドウが開かれる。引数に"-g"を指定する事によっても可能。


evim eview
簡易モードのGUIバージョン。新しいウィンドウが開かれる。引数に"-y"を指定する事によっても可能。


rvim rview rgview
上記と似ているが、制限付きである。シェルコマンドの実行とvimの終了が行えない。引数に"-Z"を指定する事によっても可能。



オプション



オプションは順不同に、ファイル名の前もしくは後ろに指定できる。引数を伴わないオプションは単一のダッシュの後ろにまとめて指定する事ができる。

+[num]
一つ目のファイルが、"num"行目にカーソルを移動して開かれる。"num"が指定されない場合、カーソルはファイルの最終行に移動する。


+/{pat}
一つ目のファイルが、ファイル内の一つ目の{pat}にカーソルを移動して開かれる。使用可能な検索パターンについては、":help search-pattern"を参照。


+{command}

-c {command}
一つ目のファイルを読み込んだ後で、{command}が実行される。{command}はExコマンドとして解釈される。{command}がスペースを含む場合は、ダブルクォートで囲まれる必要がある(使用するシェルに依存する)。例:vim "+set si" main.c
注意:"+"や:-C"は最大10個まで使用可能である。


-S {file}
一つ目のファイルを読み込んだ後、{file}を参照する。これは-c "source {file}"と同等である。{file}は'-'で開始する事はできない。{file}が指定されない場合、"Session.vim"が使用される(-Sが最後の引数である場合のみ)。


--cmd {command}
"-c"と似ているが、コマンドはいかなるvimrcファイルよりも前に実行される。これらコマンドは、"-c"とは別に、最大10個まで使用可能である。


-A
vimが右から左へ表記されるテキストやArabicキーボードをサポートするARABICサポート込みでコンパイルされた場合、このオプションはvimをArabicモードで開始する。つまり、'arabic'が指定される。そうでない場合は、エラーメッセージを表示してvimが終了する。


-b
バイナリモード。バイナリもしくは実行形式のファイルを編集する事を可能にするいくつかのオプションが設定される。


-C
コンパチモード。'compatible'オプションを設定する。.vimrcファイルが存在する場合でも、vimをViのように振る舞わせる。


-d
diffオードで開始。ファイル名引数は2つから4つまで指定されているべきである。vimはすべてのファイルを開き、差異の個所を表示する。vimdiff(1)のように働く。


-d {device}
{device}を端末として使用するために開く。Amigaのみ使用可能。例:"-d con:20/30/600/150"


-D
デバッギング。スクリプトの一つ目のコマンドを実行する際にデバッグモードへ移行する。


-e
実行ファイルを"ex"として起動した場合と同様、Exモードでvimを開始する。


-E
実行ファイルを"exim"として起動した場合と同様、改良版Exモードでvimを開始する。


-f
フォアグラウンド。GUIバージョンについては、vimは起動されたシェルからforkやデタッチしない。Amigaの場合、vimは新しいウィンドウを開くために再起動されない。このオプションは、編集セッションが終了するのを待つプログラム(例:mail)からvimを起動する時に使用するべきである。Amigaの場合、":sh"や":!"コマンドは有効でなくなる。


--nofork
フォアグラウンド。GUIバージョンについては、vimは起動されたシェルからforkやデタッチしない。


-F
vimが右から左へ表記されるテキストやFarsiキーボードマッピングをサポートするFKMAPサポート込みでコンパイルされた場合、このオプションはvimをFarsiモードで開始する。つまり、'fkmap'および'rightleft'が指定される。
そうでない場合は、エラーメッセージを表示してvimが終了する。


-g
vimがGUIサポート込みでコンパイルされた場合、GUIモードを有効にする。GUIサポートなしの場合は、エラーメッセージを表示してvimが終了する。


-h
簡単なコマンドライン引数とオプションのヘルプを表示して、vimが終了する。


-H
vimが右から左へ表記するテキストとHebrewキーボードマッピングをサポートするRIGHTLEFTサポート込みでコンパイルされた場合、このオプションはvimをHebrewモードで開始する。つまり、'hkmap'および'rightleft'が指定される。そうでない場合は、エラーメッセージを表示してvimが終了する。


-i {viminfo}
viminfoファイルの使用が有効化されている場合、このオプションはデフォルトの"~/.viminfo"に代わり使用するファイルの名前を指定する。名前に"NONE"を指定する事により、.viminfoファイルの使用をスキップするためにも使用できる。


-L
-rと同じ。


-l
Lispモード。'lisp'と'showmatch'オプションを有効にする。


-m
ファイルの編集を無効にする。'write'オプションをリセットする。バッファの変更は可能だが、ファイルの書き込みはできない。


-M
編集は許可されない。'modifiable'および'write'オプションをリセットし、ファイルの書き込みが行えなくなる。これらオプションを設定し、ファイル編集を行えるようにする事ができる事に注意。


-N
非コンパチモード。'compatible'オプションをリセットする。'compatible'オプションをリセットする。.vimrcファイルがない場合についてもvimの動作を多少改善するが、Viとの互換性は下がる。


-n
スワップファイルが使用されない。クラッシュした際のリカバリが行えない。非常に遅い媒体(例:フロッピーディスク)に対しての編集の場合に便利である。":set uc=0"でも同様の事が可能である。":set uc=200"で設定を元に戻せる。


-nb
NetBeansのエディタ・サーバになる。詳細はドキュメントを参照。


-o[N]
N個のウィンドウを積み上げる形で開く。Nが指定されない場合は、各ファイルにつき1つずつウィンドウを開く。


-O[N]
N個のウィンドウを左右に並べて開く。Nが指定されない場合は、各ファイルにつき1つずつウィンドウを開く。


-p[N]
N個のタブページを開く。Nが指定されない場合は、各ファイルにつき1つずつウィンドウを開く。


-R
読み込み専用モードで開く。'Readonly'オプションが設定される。バッファの編集はできるが、ファイルの事故による上書きは回避される。ファイルを上書きしたい場合は、":w!"のように、Exコマンドに"!"を追加する。-Rオプションも同様に-nオプションを暗示する(下記参照)。
'readonly'オプションは":set noro"によって無効にできる。":help 'readonly'"を参照。


-r
リカバリ用のスワップファイルの一覧を表示する。


-r {file}
リカバリモード。クラッシュした編集セッションから復旧するため、スワップファイルが使用される。スワップファイルは、編集テキストファイルと同じ名前で、末尾に".swp"が追加されている。":help recovery"を参照。


-s
サイレントモード。"Ex"として開始されたか、"-s"オプションの前に"-e"オプションが指定されている場合のみ。


-s {scriptin}
スクリプトファイル{scriptin}が読み込まれる。このファイルの内容が、あたかもタイプされたかのように扱われる。コマンド":source! {scriptin}"コマンドによっても同様の事が可能である。エディタが終了する前にファイルの末尾に達した場合は、キーボードから追加の文字が読まれる。


-T {terminal}
vimに使用する端末の名前を指定する。自動的に与えられる名前が機能しない場合のみ必要である。vimが認識可能な端末(ビルトイン)かtermcapもしくはterminfoファイルに定義されている必要がある。


-u {vimrc}
ファイル{vimrc}に記述されたコマンドを使用する。それ以外の初期化はスキップされる。特別な種類のファイルを編集する際にこのオプションを使用する。また、"NONE"をファイル名に指定する事で、全ての初期化をスキップさせる事も可能である。詳細についてはvimの":help initialization"を参照。


-U {gvimrc}
ファイル{gvimrc}に記述されたコマンドを使用する。それ以外のGUIに関する初期化はスキップされる。"NONE"をファイル名に指定する事で、全ての初期化をスキップさせる事も可能である。詳細についてはvimの":help gui-init"を参照。


-V[n]
詳細表示モード。起動時にスクリプトとして参照されたファイルや読み込み・書き込みされたviminfoファイルについてのメッセージを表示する。
オプションの'N'は'verbose'に指定する値。デフォルトでは10。


-v
vimを"vi"という名称で起動した時と同様、Viモードで開始する。実行ファイルを"ex"という名称で起動した時のみ有効。


-w {scriptout}
タイプする全てのキャラクタが、vimを終了するまで{scriptout}ファイルに記述される。"vim -s"もしくは":source!"で使用するスクリプトファイルを作成したい場合に便利である。{scriptout}ファイルが存在する場合、キャラクタは追記される。


-W {scriptout}
-wと似ているが、ファイルは上書きされる。


-x
ファイル書き込み時に暗号化する。暗号キーを要求する。


-X
Xサーバに接続しない。端末での起動時間を短縮できるが、ウィンドウタイトルやクリップボードが使用されない。


-y
vimを"evim"もしくは"eview”という名称で起動した場合と同様、簡易モードで開始する。vimをクリック・アンド・タイプ形式のエディタと同様な形で動作させる。


-Z
制限モード。実行ファイルを"r"付きで開始させた場合と同じ。


--
オプションの終りを指示する。この引数の後に続く引数は全てファイル名として扱われる。'-'で始まる名前のファイルを編集する場合に使用できる。


--echo-wid
GTK GUIのみ。Window IDを標準出力に表示する。


--help
"-h"と同様、ヘルプ・メッセージを表示して終了する。


--literal
ワイルドカードを展開せず、文字通りのファイル名として解釈させる。シェルがワイルドカードを展開するUnixではこのオプションは効果がない。


--noplugin
プラグインのロードをスキップする。-u NONEで暗示される。


--remote
vimサーバへ接続し、残りの引数で指定されたファイルを編集させる。サーバが見つからない場合は、警告メッセージを表示し、現在使用しているvimでファイルが編集される。


--remote-expr {expr}
vimサーバへ接続し、サーバ上で{expr}を評価して結果を標準出力へ表示する。


--remote-send {keys}
vimサーバへ接続し、{keys}を送信する。


--remote-silent
--remoteと同様ではあるが、サーバが見つからない場合に警告メッセージを表示しない。


--remote-wait
--remoteと同様ではあるが、ファイルが編集されるまでvimは終了しない。


--remote-wait-silent
--remote-waitと同様ではあるが、サーバが見つからない場合に警告メッセージを表示しない。


--serverlist
発見可能な全てのvimサーバ名の一覧を表示する。


--servername {name}
{name}をサーバ名として使用する。現在のvimに使用されるが、--remote引数と共に使用されない場合は、接続先のサーバー名。


--socketid {id}
GTK GUIのみ。gvimを別ウィンドウで実行するためにGtkPlugメカニズムを使用する。


--version
バージョン情報を表示して終了する。



オンラインヘルプ



":help"とvimで入力して開始する。":help subject"と入力して特定のヘルプを表示させる。例えば、":help ZZ"と入力すると、"ZZ"コマンドについてのヘルプが得られる。とCTRL-Dを使用して、参照したいヘルプの題の入力を補完できる。ヘルプ内の複数場所間を行き来できるよう、タグが付けられている(ハイパーテキスト・リンクと類似。":help"を参照)。":help syntax.txt"のようにして、全てのドキュメントがこの形式で参照可能である。


ファイル



/usr/share/vim/vim72/doc/*.txt
vimのドキュメントファイル。":help doc-file-list"で全てのリストが参照可能。


/usr/share/vim/vim72/doc/tags
ドキュメントファイル内で情報を検索するために使用されるタグのファイル。


/usr/share/vim/vim72/syntax/syntax.vim
システム共通のシンタックス初期化ファイル。


/usr/share/vim/vim72/syntax/*.vim
各種言語のシンタックスファイル。


/usr/share/vim/vimrc
システム共通のvim初期化ファイル。


~/.vimrc
個別ユーザ用のvim初期化ファイル。


/usr/share/vim/gvimrc
システム共通のgvim初期化ファイル。


~/.gvimrc
個別ユーザ用のgvim初期化ファイル。


/usr/share/vim/vim72/optwin.vim
オプションの参照、設定時に便利な方法としての、":options"コマンド用のスクリプト。


/usr/share/vim/vim72/menu.vim
gvim用のシステム共通のメニュー初期化ファイル。


/usr/share/vim/vim72/bugreport.vim
バグ報告を生成するためのスクリプト。":help bugs"を参照。


/usr/share/vim/vim72/filetype.vim
名前からファイルの種類を判別するためのスクリプト。":help 'filetype'"を参照。


/usr/share/vim/vim72/scripts.vim
内容からファイルの種類を判別するためのスクリプト。":help 'filetype'"を参照。


/usr/share/vim/vim72/print/*.ps
Postsciptでの印刷の際に使われるファイル。


最新の情報については、vimのホームページを参照:
<URL:http://www.vim.org/>



参照



vimtutor(1)


著者



vimの大半はBram Moolenaarによって、大勢の助力とともに記述された。vimの":help credits"を参照。vimは、殆ど元のコードを残していないが、Tim Thompson、Tony Andrews、G.R. (Fred) WalterによるStevieを元にしている。


バグ



あり得る。既知の問題については、":help todo"を参照。


一部の利用者にとってバグとして認識されるものは、実際にはViの動きを忠実に再現しようとし過ぎているために発生している。また、他の「Viでは違う動きをする」という理由によるバグは、vi_diff.txtファイルを注意して参照すべきである(またはvimで:help vi_diff.txtとタイプ)。同様に、'compatible'および'options'オプションを注意して参照すること。


 
スポンサーサイト
【 2014/05/24 (Sat) 】 OS Linuxコマンド(編集用) | TB(0) | CM(0)

sarコマンドのマニュアル

とある依頼でLinuxマシンの性能監視を行う必要があったので、sarをいろいろ使いまくった。

sarはディストリビューションによっては標準で入れられてない場合もあるので、topやvmstatに比べたらなかなか知られてないとは思うけど、非常に便利なコマンド。
で、知られてないついでに、Linux JM Projectに日本語manページも存在しない。


なので、日本語に訳してみた。正式のJMプロジェクトのマニュアルみたいにレビューを通してないので、用語や表現の統一もしてなければ、自分が得意な分野以外の単語が訳として適切かもわからないけど、自分用の訳が他の人でも多少なりとも参考になればという感覚。

たぶんBSD、Linux、その他環境によって多少使えるオプションが違うけど、おおまかに言って似てるはず。私が参考にしたのは、Linux (SuSE)のsar。


sar(1)




名前


sar - システムのアクティビティについての情報を収集、保存、出力する。

書式


sar [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -i interval ] [ -p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ] [ -I { irq | SUM | ALL | XALL } ] [ -P { cpu | ALL } ] [ -o [ filename ] | -f [ filename ] ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]

説明


sarコマンドは、選択したOSのアクティビティ・カウンターの累積値を標準出力に出力する。指定した回数・間隔パラメータの値に基づき、アカウンティングシステムがシステム情報を指定した秒間隔で指定した回数表示する。間隔パラメータがゼロの場合は、sarコマンドはシステム開始後からの平均値を出力する。回数パラメータの指定なしに間隔パラメータのみ指定された場合は、レポートを出力し続ける。

収集されたデータは、標準出力に加え、-o filename フラグで指定したファイルに保存する事ができる。ファイル名の指定がない場合は、sarは標準のシステム活動日次ファイル /var/log/sa/sadd (ddは現在日付)に記録する。デフォルトではカーネルから得られる全ての情報が当データファイルへ記録される。



sarコマンドは-fオプションによって指定されたファイル、もしくはデフォルトの日次システムアクティビティ・データファイルから、過去に保存された結果をファイルから読み取り、標準出力に出力できる。



-Pオプションなしに実行すると、sarコマンドは、システム全体(全プロセッサの合計)の数値をパーセント表示のものについては平均値、それ以外は合計値として出力する。-Pフラグが指定された場合は、sarコマンドは指定されたひとつもしくは複数のプロセッサについての情報を出力する。-P ALLとして指定された場合は、sarコマンドは全プロセッサの個別情報と合計値の両方を出力する。



フラグを使用する事で、特定のシステムアクティビティを選んで出力できる。フラグを指定しない場合は、CPUアクティビティのみ出力する。-Aフラグを指定する事は、-bBdqrRSvmWy -I SUM -I XALL -n ALL -u ALL -P ALLを意味する。



デフォルトのsarコマンド出力(CPU利用状況レポート)は、重要なシステム資源であるため、システムアクティビティの調査にあたって最初に見るべきもののひとつである。CPU利用状況が100%に近い場合(user + nice + system値)、ワークロードはCPUがボトルネックになっている。



複数のサンプル値やレポートが必要な場合は、sarコマンドで出力ファイルを指定するのが便利である。sarコマンドをバックグラウンドで実行するシンタックスは、

sar -o datafile interval count >/dev/null 2>&1 &

である。



全てのデータはバイナリ形式で計測され、ファイルへ保存される。sarコマンドに-fコマンドを指定する事により、ファイルを選んで出力する事ができる。間隔と回数を指定して保存した結果から取得できる。回数パラメータが指定されない場合は、ファイル内に保存された全ての結果が選択される。このような方法によるデータ取得は、システム利用のピーク時間帯を判定するのに有用である。



注意:sarコマンドはローカルなアクティビティのみ出力する。


オプション



-A
このオプションを指定する事は、-bBdqrRSuvwWy -I SUM -I XALL -n ALL -u ALL -P ALLを指定する事と同等である。

-b
I/O転送レートについての統計を出力する。下記の値が表示される:

tps
物理デバイスに対し発行された1秒あたり総転送数。転送とは、物理デバイスに対してのi/Oリクエストの事である。複数の論理リクエストは単一のI/Oリクエストとして結合される場合がある。各転送のサイズは不定である。

rtps
物理デバイスに対し発行された1秒あたり総読み取りリクエスト数。

wtps
物理デバイスに対し発行された1秒あたり総書き込みリクエスト数。

bread/s
デバイスから1秒間に読み取られた総ブロック数。ブロックはカーネル2.4以降ではセクタと同じであり、512バイトの大きさである。それより古いカーネルについては、ブロックのサイズは不定である。

bwrtn/s
デバイスに対し1秒間に書き込まれた総ブロック数。


-B
ページングに関する統計を出力する。下記の指標のうちいくつかはカーネル2.5以降にのみ存在する。下記の値が表示される:

pgpin/s
システムがディスクからページインした、1秒あたり総キロバイト数。注意:古いカーネル(2.2.x)では、1秒あたりブロック数(キロバイトではない)である。

pgpout/s
システムがディスクへページアウトした、1秒あたり総キロバイト数。注意:古いカーネル(2.2.x)では、1秒あたりブロック数(キロバイトではない)である。

fault/s
1秒あたりのページフォールト数(メジャー、マイナーの合計)。一部のページフォールトはI/Oなしに解決可能であるため、これはI/Oが発生したページフォールト数ではない。

majflt/s
システムに発生した、ディスクからメモリページのロードが必要な1秒あたりのメジャーフォールト数。

pgfree/s
システムがフリーリストへ登録した1秒あたりのページ数。

pgscank/s
kswapdデーモンによりスキャンされた1秒あたりのページ数。

pgscand/s
直接スキャンされた1秒あたりのページ数。

pgsteal/s
メモリ要求を満たすためキャッシュ(ページキャッシュおよびスワップキャッシュ)から回収したページ数。

%vmeff
pgsteal / pgscanとして計算された数で、ページ回収の効率性を示す。100%に近い場合、ほぼ全ての非活動リストの末尾から来るページが回収された事を意味する。低すぎる場合(30%以下)、仮想メモリは何らかの問題を有している。出力対象の期間の間にページのスキャンが行われない場合は、このフィールドはゼロを示す。


-C
ファイルから読んで実行している場合、sadcにより挿入されたコメントsarに出力するよう指示する。

-d
各ブロックデバイスのアクティビティを出力する(カーネル2.4以降のみ)。出力時には、デバイス名にm-nの書式が使われる(DEVカラム)。mはデバイスのメジャー番号である。最近のカーネル(2.5以降)では、nはデバイスのマイナー番号であるが、2.5より前のカーネルでは、順番に番号が振られるのみである。-pオプションデバイス名を整形する事も可能である(下記参照)。Avgqu-sz、 await、 svctm、および%utilの値は2.4カーネルの一部では意味をなさないため0.00となっている。

tps
デバイスに対し行われた1秒あたりの転送数。複数の論理リクエストは結合してデバイスに対して1つのリクエストとして発行される場合がある。各転送のサイズは不定である。

rd_sec/s
デバイスから読み取ったセクタ数。セクタのサイズは512バイトである。

wr_sec/s
デバイスに書き込んだセクタ数。セクタのサイズは512バイトである。

avgrq-sq
デバイスに対し発行されたデバイスの平均サイズ(セクタ数)。

await
デバイスに対し発行されたI/Oリクエストの平均所要時間(ミリ秒)。この数値はリクエストがキュー上にある時間と処理を実行している時間を含む。

svctm
デバイスに対し発行されたI/Oリクエストが実際に処理する平均時間(ミリ秒)。

%util
CPU時間のうち、デバイスに対するI/O処理に使われた時間(デバイスの帯域利用)。この値が100%に近づくと、デバイスの飽和が発生している。


-e [ hh:mm:ss ]
レポートの終了時間を指定する。デフォルトの終了時間は18:00:00である。時間は24時間表記で指定する必要がある。このオプションはデータがファイルから読まれる際、もしくは書き込む際に使用できる(-fもしくは-oオプション)。

-f [ filename ]
(-o filenameフラグで作成したファイルについて)指定したファイル名のファイルからレコードを取得する。Filenameパラメータのデフォルト値は、当日の日次ファイル/var/log/sa/saddファイルである。-fオプションと-oオプションは排他的である。

-I { irq | SUM | ALL | XALL }
指定した割り込みに対する統計を出力する。パラメータirqは割り込み番号である。複数の割り込み番号を指定した場合、それら複数の割り込みを個別に参照する。SUMキーワードは1秒あたり受信割り込み数を表示する要指定する。ALLキーワードは最初の16の割り込みについての統計を表示し、XALLキーワードはAPIC割り込みの発生源を含め、全ての割り込みの統計を表示する。

-n { DEV | EDEV | NFS | NFSD | SOCK | ALL }
ネットワーク統計を出力する。

DEVキーワードは、ネットワークデバイスから得られる下記の統計を出力する。

IFACE
統計を出力するネットワークインターフェース名。

rxpck/s
1秒あたり総受信パケット数。

txpck/s
1秒あたり総送信パケット数。

rxkB/s
1秒あたり総受信キロバイト数。

txkB/s
1秒あたり総送信キロバイト数。

rxcmp/s
1秒あたり総受信圧縮パケット数(cslip等)。

txcmp/s
1秒あたり総送信圧縮パケット数(cslip等)。

rxmcst/s
1秒あたり総受信マルチキャストパケット数。


EDEVキーワードは、ネットワークデバイスから得られる失敗(エラー)に関する下記の統計を出力する。

IFACE
統計を出力するネットワークインターフェース名。

rxerr/s
1秒あたり総受信不良パケット数。

txerr/s
パケット送信時に発生した1秒あたりエラー発生数。

coll/s
パケット送信時に発生した1秒あたりパケット衝突数。

rxdrop/s
Linuxバッファ上の領域不足によって発生した、1秒あたりの受信パケットのドロップ数。

txdrop/s
Linuxバッファ上の領域不足によって発生した、1秒あたりの送信パケットのドロップ数。

txcarr/s
パケット送信時に発生した1秒あたりのキャリアエラー数。

rxfram/s
パケット受信時に発生した、1秒あたりフレーム・アラインメント・エラー数

rxfifo/s
1秒あたりの受信パケットのFIFOオーバーラン・エラー数

txfifo/s
1秒あたりの送信パケットのFIFOオーバーラン・エラー数


NFSキーワードは、下記のNFSクライアント・アクティビティについて出力する。

call/s
1秒あたりのRPCリクエスト数。

retrans/s
1秒あたりの(サーバータイムアウト等による)再送信が必要であったRPCリクエスト数。

read/s
1秒間に発生した'read'RPCコール数。

write/s
1秒間に発生した'write'RPCコール数。

access/s
1秒間に発生した'access'RPCコール数。

getatt/s
1秒間に発生した'getattr'RPCコール数。


NFSDキーワードは、下記のNFSサーバー・アクティビティについて出力する。

scall/s
1秒あたりの受信RPCリクエスト数。

badcall/s
1秒あたりの処理時にエラーが発生した不良RPCリクエスト数。

packet/s
1秒あたりの受信パケット数。

udp/s
1秒あたりの受信UDPパケット数。

tcp/s
1秒あたりの受信TCPパケット数。

hit/s
1秒あたりの応答キャッシュ・ヒット数。

miss/s
1秒あたりの応答キャッシュ・ミス数。

sread/s
1秒あたりの受信'read' RPCコール数。

swrite/s
1秒あたりの受信'write' RPCコール数。

saccess/s
1秒あたりの受信'access' RPCコール数。

sgetatt/s
1秒あたりの受信'getattr' RPCコール数。


SOCKキーワードは、下記の使用ソケットについての統計を出力する。

totsck
システムが使用した総ソケット数。

tcpsck
現在使用中のTCPソケット数。

udpsck
現在使用中のUDPソケット数。

rawsck
現在使用中のRAWソケット数。

ip-frag
現在使用中のIPフラグメント数。

tcp-tw
TIME_WAITステータスにあるTCPソケット数。


ALLキーワードは上記全てを指定するのと同等で、ネットワーク・アクティビティの全てを出力する。

-o [ filename ]
バイナリ形式で読み取り内容をファイルに保存する。各読み取りは別個のレコードになる。Filenameパラメータのデフォルト値は当日の日次データファイル/var/log/sa/saddである。-oオプションと-fオプションは互いに排他的である。

-P { cpu | ALL }
指定した単体のプロセッサ、もしくは複数のプロセッサ別の出力をする。ALLキーワードを指定した場合は、全プロセッサについて個別の統計を出力する。プロセッサ0が一つ目のプロセッサである事に注意。

-p
デバイス名を整形して表示する。-dオプションと共に使用する。デフォルトではデバイス名はdev m-n形式で表示されるが、当オプションを使用する事により、/dev下に表示されるのと同じ名前で表示されるようになる。名前のマッピング情報は、/etc/sys-stat/sysstat.ioconfによって管理されている。

-q
キューの長さとロードアベレージを出力する。

runq-sz
実行キューの長さ(実行時間待ちのタスク数)。

plist-sz
タスクリスト中のタスク数。

ldavg-1
直前1分間のシステムのロードアベレージ。ロードアベレージは、指定期間中の実行可能、実行中(ステート=R)、および割り込み不可のスリープ状態(ステート=D)のプロセス数として計算される。

ldavg-5
直前5分間のシステムのロードアベレージ。

ldavg-15
直前15分間のシステムのロードアベレージ。


-r
メモリ利用状況について下記の統計を出力。

kbmemfree
キロバイト単位での空きメモリ容量。

kbmemused
キロバイト単位での使用中メモリ容量。カーネル自身によって使用されるメモリについては対象外。

%memused
メモリの使用率。

kbbuffers
カーネルによってバッファとして使用されたメモリ容量(キロバイト)。

kbcached
カーネルによってデータをキャッシュするために使用されたメモリ容量(キロバイト)。

kbcommit
現在のワークロードに必要なメモリ容量(キロバイト)。メモリ不足が発生しない事を保証するために必要なRAM/スワップの量の見積である。

%commit
総メモリ容量(RAM+スワップ)に対する、現在のワークロードに必要なメモリ容量(キロバイト)。通常カーネルはメモリをオーバーコミットするため、この数値は100%を超える場合がある。


-R
メモリに関する下記の統計を出力する。

frmpg/s
システムにより解放された1秒あたりのメモリページ数。負の数はシステムにより確保されたページ数を示す。ページサイズはマシン・アーキテクチャにより、4KBか8KBのいずれかである事に注意。

bufpg/s
システムによりバッファとして使用された1秒あたりの追加メモリページ数。負の数はシステムがより少ないページ数をバッファとして使用している事を意味する。

campg/s
システムによりキャッシュされた1秒あたりの追加メモリページ数。負の数はシステムがより少ないページ数をキャッシュしている事を意味する。


-s [ hh:mm:ss ]
データの開始時間を指定し、sarコマンドに指定時間以降のレポートのみ出力させる。デフォルトの開始時間は08:00:00である。時間は24時間表記で指定する必要がある。このオプションはデータがファイルから読まれる際に使用できる(-fオプション)。

-S
スワップスペース利用状況について、下記の統計を出力する。

kbswpfree
空きスワップスペース容量(キロバイト)。

kbswpused
使用中のスワップスペース容量(キロバイト)。

%swpused
使用中のスワップスペースの割合。

kbswpcad
キャッシュされたスワップメモリの容量(キロバイト)。この数値は一度スワップアウトされたメモリのうち、スワップインしたがスワップエリアに残っているメモリである(メモリが必要な際に、既にスワップエリアにあるため再度スワップアウトする必要がなくなり、I/Oを減らせられる。)

%swpcad
使用されたスワップスペースに対する、キャッシュされたスワップメモリの割合。


-t
日次データファイルからデータを読む際、sarに元のデータファイル作成時のロケールに応じたタイムスタンプを表示させる。このオプションがない場合、現ユーザーのロケール時間に応じた出力がされる。

-u [ ALL ]
CPUの利用状況を出力する。ALLキーワードは全てのCPUに関する情報の出力を行うよう指定する。下記の情報が出力される。

%user
ユーザーレベル(アプリケーション)の実行によるCPU利用の割合。
このフィールドは仮想プロセッサ上で実行された時間も含む事に注意。

%usr
ユーザーレベル(アプリケーション)の実行によるCPU利用時間の割合。
このフィールドは仮想プロセッサで実行された時間を含まない事に注意。

%nice
Niceプライオリティで実行された、ユーザーレベルのCPU利用時間の割合。

%system
システムレベル(カーネル)の実行によるCPU利用時間の割合。
このフィールドは割り込みやソフト割り込みの処理に使われた時間も含まれる事に注意。

%sys
システムレベル(カーネル)の実行によるCPU利用時間の割合。
このフィールドは割り込みやソフト割り込みの処理に使われた時間を含まない事に注意。

%iowait
システムがI/Oリクエストの処理のためCPUがアイドルになった時間の割合。

%steal
ハイパーバイザーが他の仮想プロセッサを処理している間の仮想CPUの非自発的な待ち時間の割合。

%irq
割り込みを処理するために使われたCPU時間の割合。

%soft
ソフト割り込みを処理するために使われたCPU時間の割合。

%guest
仮想プロセッサを実行するのに使われたCPU時間の割合

%idle
CPUがアイドルで、かつI/Oリクエストの処理完了を待っていない時間の割合。

注意:SMPマシンでは、アクティビティの全く発生していない(全項目が0.00)プロセッサは、無効化されたプロセッサである。

-v
inode、ファイルやその他カーネルテーブルの状態を出力する。下記の情報が出力される。

dentunusd
ディクショナリー・キャッシュのうち未使用のキャッシュ・エントリーの数。

file-nr
システムにより使用されているファイルハンドルの数。

inode-nr
システムにより使用されているinodeハンドルの数。

pty-nr
システムにより使用されている疑似端末の数。


-V
バージョン番号を表示して終了する。

-w
タスクの生成とシステム切り替えのアクティビティについて出力する。

proc/s
1秒あたり生成されたタスクの数。

cswch/s
1秒あたり実行されたコンテキスト・スイッチの回数。


-W
スワッピングに関する統計の出力。下記の情報が出力される。

pswpin/s
1秒あたりにシステムが取り込んだスワップページ数。

pswpout/s
1秒あたりにシステムが書き出したスワップページ数。


-y
TTYデバイスのアクティビティについて出力。下記の値が表示される。

rcvin/s
現在のシリアル・ラインについて、1秒間に受け取った割り込みの数。シリアル・ラインの番号はTTYカラムに与えられる。

xmtin/s
現在のシリアル・ラインに対して、1秒間に発生した送信割り込み。

framerr/s
現在のシリアル・ラインに対して、1秒間に発生したフレームエラー。

prtyerr/s
現在のシリアル・ラインに対して、1秒間に発生したパリティエラー。

brk/s
現在のシリアル・ラインに対して、1秒間に発生したブレーク数。

ovrun/s
現在のシリアル・ラインに対して、1秒間に発生したオーバーランエラー数。

カーネル2.6では、これら統計はrootのみ取得可能である。


環境変数


sarコマンドは下記の環境変数を実行時に使用する。

S_TIME_FORMAT
この環境変数が存在し、かつ値がISOである場合は、日付をレポートのヘッダに出力する際に現在のロケールは無視される。sarコマンドは代わりにISO 8601フォーマット(YYYY-MM-DD)を使用する。

S_TIME_DEF_TIME
この環境変数が存在し、かつ値がUTCである場合は、sarはデータをUTC時間で保存する(出力は変わらずローカル時のまま)。sarは/var/log/saディレクトリから日次ファイルを選ぶ際にもUTC時間を使用する。この変数は複数のタイムゾーンにユーザがいるようなシステムで有用である。





sar -u 2 5
2秒ごとのCPU利用状況のレポートを出力する。5行出力される。

sar -I 14 -o int14.file 2 10
IRQ 14についての2秒ごとの統計を出力する。10行出力される。データはint14.fileという名前でファイルに保存される。

sar -r -n DEV -f /var/log/sa/sa16
sa16という日次ファイルに保存されたメモリとネットワークに関しての統計を出力する。

sar -A
日次データファイルに保存された統計の全てを出力する。


バグ


sarコマンドが機能するためには、/procファイルシステムがマウントされている必要がある。

カーネルのバージョンによっては、全ての統計値が提供されるわけではない。

ファイル



/var/log/sa/sadd
ddパラメータが当月の日付を意味する、日次データファイル。


/procはシステム統計値のための様々なファイルを有する。

著者


Sebastien Godard (sysstat orange.fr)

参照


sadc(8), sa1(8), sa2(8), sadf(10< isag(1), pidstat(1), mpstat(1), iostat(1), vmstat(8)

 
【 2014/05/22 (Thu) 】 OS Linuxコマンド(管理用) | TB(0) | CM(0)
プロフィール

Ed U Song

Author:Ed U Song
社内ノマドなエンジニア。
仕事で触れる機会のないものを自宅環境作って実験。

スポンサーリンク
最新コメント
最新トラックバック
検索フォーム


                                         
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。