2009年6月29日月曜日
Linux:コマンドオペレーションの魅力を再確認
ファイルに連番を追加
declare -i i=1
for file in *.jpg
do
mv $file $i$file
i=i+1
done
http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html
#!/bin/sh
file=scan01.jpg
echo ${file}
echo ${file%jpg}
echo ${file%jpg}png
→scan01.jpg
scan01.
scan01.png
記録様式 奈良先端科学技術大学院大学情報科学研究科ソフト�
・アドホックリーディング
・チェックリストベースドリーディング
・パースペクティブベースドリーディング
・確認テスト規模を意識したリーディング技法
・リスクベースドリーディング
2009年6月26日金曜日
Oracle:Solarisインストールガイド(カーネルパラメータ)
http://otndnld.oracle.co.jp/document/products/oracle10g/102/solaris/B25025-02/pre_install.htm#714088
Linux:ITmedia エンタープライズ : Linux Tips「シグナルってなに?」
シグナル種別 | 内 容 |
TERM | 安全に終了させる |
KILL | 強制終了させる |
STOP | 中断させる |
CONT | 再開させる |
HUP | 変更を反映する |
QUIT | coreファイルを残しながら終了する |
Solaris:実行レベル (Solaris のシステム管理) - Sun Microsystems
Solaris 実行レベル
システムの実行レベルを確認する方法
who -r コマンドを使用してシステムの実行レベル情報を表示すれば、システムの実行レベルがわかります。ただし、実行レベル 0 を除きます。
$ who -r
例-システムの実行レベルを確認する
$ who -r
. run-level 3 Oct 26 15:04 3 0 S
$
Solaris:実行制御スクリプト (Solaris のシステム管理) - Sun Microsystems
Solaris ソフトウェア環境では、一連の詳細な実行制御 (rc) スクリプトを使用して実行レベルの移行を制御している。
各実行レベルには次の rc スクリプトが対応しており、これらのスクリプトは、/sbin ディレクトリにあります。
-
rc0
-
rc1
-
rc2
-
rc3
-
rc5
-
rc6
-
rcS
/sbin ディレクトリ内の各 rc スクリプトには /etc/rcn.d という名前のディレクトリが対応しており、その中にはその実行レベルのさまざまな処理を実行するスクリプトがある。たとえば、/etc/rc2.d には、実行レベル 2 のプロセスを起動および停止するためのファイル (スクリプト) があります。
Linux:起動の仕組みを理解しよう[init/inittab編](1/2)
カーネルが起動された後の流れを挙げると、
- 各種デバイスなどの初期化
- initプログラムなどの起動
- ブート時の処理
- rcスクリプトの実行
といった処理が行われる。
2009年6月24日水曜日
Oracle:テーブルスペースの容量・状態を調べるためのSQL
select tablespace_name, sum(bytes)/1024/1024 tota_space
from dba_data_files
group by tablespace_name
order by tablespace_name;
-- テーブルスペースの空き容量を確認(MB表示)
select tablespace_name, sum(bytes)/1024/1024 freespace
from dba_free_space
group by tablespace_name
order by tablespace_name;
-- テーブルスペースの名前と状態を調べる
select tablespace_name, status
from dba_tablespaces
order by tablespace_name;
Linux:nsswitch.confの役割
nsswitch.confの役割は、名前解決の順序を指定することである。
コンピュータのホスト名から対応するIPアドレスやMACアドレスを割り出す,サービス名からポート番号を調べる,といったように,名前に関連づけられた値を割り出すことを名前解決といいます。/etc/nsswitch.confでは,名前解決の順序を指定します。
ホスト名の名前解決にはDNSを使うのが一般的ですが,それ以外にも,/etc/hostsファイルに記述されたホスト名とIPアドレスを使う方法 や,NIS(Network Information Service)を使う方法,LDAPを使う方法などがあります。このような複数の名前解決手段があっても,NSS(Name Service Switch)という仕組みによってどのような順番で利用するかを指定できます。NSSの設定ファイルが/etc/nsswitch.confです。
/etc/nsswitch.confの例
passwd: nis files |
左側の欄には名前解決データベースの種類を記述します。名称は,/etc以下のファイル名とほぼ同じになっています(例えば,hostsは /etc/hostsに対応します)。右側の欄には,名前解決の手段を優先度の高い順に記述します。files(/etc以下のローカルファイ ル),nis(NIS),dns(DNS),ldap(LDAP)などを指定することができます。
この例では,ホスト名の名前解決(hosts:と書かれた欄で設定)には,最初にNISで検索が行われます。次にローカルファイル (/etc/hostsファイル),DNSの順で検索が行われます。問い合わせ先DNSサーバーのIPアドレスは,/etc/resolv.confで指 定します。
2009年6月23日火曜日
Linux:Red Hat Enterprise Linux 4でShift-JISで運用する方法
Shift-JISで運用するには以下の手順で設定を変更・追加します。
1.SJISロケールを以下のコマンドで追加します。
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
2.ja_JP.sjisがロケールに追加されたことを確認します。
# locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.sjis
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
3.LANG環境変数の設定をします。(1)ログインセッションに限りShift-JISを利用する場合(bashをお使いの場合)
# export LANG=ja_JP.SJIS
(2)システム全体でShift-JISを利用する場合 /etc/sysconfig/i18n のLANGを修正します。
LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
↓
#LANG="ja_JP.UTF-8"
#SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
LANG="ja_JP.SJIS"
SUPPORTED="ja_JP.SJIS:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
注意点として、システムのデフォルト言語を変更した場合それに起因する問題については弊社からのサポートは御提供出来かねますのでお客様御自身の責任 において上記設定を行なって下さい。各RHEL製品のデフォルト言語は以下の通りです。
RHEL2.1 - EUC
RHEL3 - EUC
RHEL4 - UTF-8
RHEL5 - UTF-8
2009年6月21日日曜日
Linux::hwclock - ハードウェアクロックの設定
ハードウェアクロックとはBIOS側で設定されている時間のことで、システムクロックとはOS側で設定されている時間のこと。
hwclock はこのハードウェアクロックとシステムクロックの同期に使用される。
Java:jstat - Java 仮想マシン統計データ監視ツール
-gccauseを引数に与えた場合の読み方
O : Old 領域の使用率(%)
YGC : New GCの実行回数(累計)
FGC : Full GCの実行回数(累計)
FGCT : Full GCの実行により停止した時間(累計)
LGCC : 最後に起こった GC の理由
GCC : そのとき発生した GC の理由
jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]
generalOption
- 単独で使用する一般的なコマンド行オプションです (-help、-options、または -version)。
outputOptions
- 単一の statOption と、-t、-h、および -J オプションのいずれかを組み合わせた、1 つまたは複数の出力オプションです。
vmid
- ターゲットの Java 仮想マシン (JVM) を示す文字列である仮想マシン識別子です。一般的な構文は次のようになります。
[protocol:][//]lvmid[@hostname[:port]/servername]
vmid 文字列の構文の大部分は、URI の構文に対応しています。vmid は、ローカル JVM を表す単純な整数から、通信プロトコル、ポート番号、および他の実装固有の値を示す複雑な構造まで、さまざまに異なります。詳細は、「仮想マシン識別子」を参照してください。 interval[s|ms]
- 秒 (s) またはミリ秒 (ms) のうち指定した単位でのサンプリング間隔です。デフォルトの単位はミリ秒です。 正の整数値を使用する必要があります。 指定した場合、jstat は間隔ごとに出力を生成します。
count
- 表示するサンプル数です。既定値は無限です。つまり、jstat は、ターゲット JVM が終了するまで、または jstat コマンドが終了するまで、統計データを表示します。正の整数値を使用する必要があります。
Linux:ITmedia エンタープライズ : Linux Tips「コマンドプロンプトの表示形式を変
コマンドプロンプトで、サーバ名&ユーザ名&現在のパスがデフォルトで表示されるようにする
PS1="\[\033[1m\033[34m\h(\u:\w)\\$ \033[0m\]"
→「マシン名(ユーザー名:パス)$」
2009年6月19日金曜日
JavaScript:JsDoc Toolkitによる開発効率向上を目指して - @IT
JavaScriptのソースコードをAPI仕様書に変換する開発支援ツール:JsDoc Toolkit
@fileOverview JSファイルの説明
@author 作成者
@version バージョン
@class 関数がクラスであることを示す
@param 引数
@return 返り値
@example 関数の使用例"
プログラマの能力の差は28倍
のようです。
1968年に発表されたサックマンたちの研究結果
H. Sackman, W. J. Erikson, and E. E. Grant "Exploratory Experimental Studies Comparing Online and Offline Programing Performance", Communications of the ACM Volume 11, Issue 1 (Jamuary 1968)
PM:震災地ボランティアと遅延プロジェクトの回復 - @IT MONOist
遅れを取り戻す4つの方法
遅れているプロジェクトを正常状態に戻すには、一般的に以下の4つの方策が取られる(2つ以上を同時に導入する場合もある)
(1)スケジュールの延長
(2)トリアージュ
(3)人員投入
(4)ダイハード方式
2009年6月18日木曜日
Java:Javaトラブルシューティング jstatを使用するための注意点
jstat&jpsを使用するための注意点。
jstatやjpsは、Javaプロセスが立ち上げ時に作成するhsperfdata_(ユーザ名)というファイルを参照して、
Javaプロセスの存在や、Javaプロセスの情報を取得する。
しかし、Linuxは/tmp以下に作成されるため、/tmp以下のhsperfdataファイルは、
/etc/cron.daily/tmpwatch
によって、起動から1週間くらいで削除されてしまう。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/342deltmpdirfile.html
その対策として、tmpwatchに、hsperfdata_infowebのディレクトリは除外するという記載を行えばよい
→ ”-x /tmp/hsperfdata_infoweb”を追加
2009年6月12日金曜日
運用:一般的な監視項目
・一般的な監視項目 ■ログ監視 >アクセス ログ >エラー・ログ ■ネットワーク監視 >通信(PING) >トラフィック ■サーバ監視 >リソース(ディスク容量) >プロセス >サーバの負荷(CPU) ■サービス監視 >画面(HTTP) >応答時間 |
Java:「メモリーを意識してみよう」第1回 ヒープがどのくらい使わ�
アプリケーションの中でヒープの使用量を調べるには2つの方法がある。
・J2SE 1.4以前の場合,java.lang.RuntimeクラスのmaxMemoryメソッドとfreeMemoryメソッドを使用
・MXBeanを使用する方法
→JMXを使用してMXBeanを参照する場合,javaの起動時オプションとして-Dcom.sun.management.jmxremoteを使用する
Java:「Java SE 6完全攻略」第5回 プロファイラ hprofとよき相棒 jhat:ITpro
Java SEにも標準でプロファイラが付属している。
→hprof
Java 2 SE 5.0からは「-agentlib:hprof」という起動オプションでhprofを起動できます
(J2SE 1.4.までは「-Xrunhprof」)。使い方はヘルプ・オプションで表示できる
2009年6月8日月曜日
Oracle:Diagnostics Pack説明サイト
http://www.oracle.com/technology/global/jp/columns/easy/oracle10gr2/linux.html
←http://www.oracle.com/technology/global/jp/columns/easy/index.html
「どのようなシステムに対しても有効なチューニング方法というものは無く、ボ
トルネックを発見し(調査・解析)、問題を修正(適用・確認)したら、次のボ
トルネックへ という繰り返しでシステムの改善をはかることになります。」
========================================================================
========================================================================
http://otn.oracle.co.jp/skillup/stats_diag/3/index.html
←http://otn.oracle.co.jp/skillup/stats_diag/
> ● まとめ
> AWRのスナップショットはShared Poolのデータを参照しているので、Shared Poolにない情報は保存できません。SQLの情報を多く保存したいのであれば、スナップショットを作成する間隔を短くするなどの工夫が必要であることがわかります。しかし、スナップショットの負荷も無視できないため、情報量を増やすことと負荷を下げることは、トレードオフの関係にあることを意識する必要があります。そこで、「通常運用時は1時間に1回程度とし、より詳細な情報を取得する必要がある場合のみスナップショットの間隔を短くする」などの工夫が必要となります。基本的なこととして、「AWRは実行されたすべてのSQLを保存することを目的とした機能ではない」ことを忘れないようにしましょう。
========================================================================
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B40062-02/toc.htm
→Oracle Database 2日でパフォーマンス・チューニング・ガイド
10g リリース2(10.2)
実際の運用を考えると、頻度は注意すべきであるが、
実際に動かしてみてどのくらい負荷がかかるかをチェックし、
負荷が高いようであれば、間隔を長くすれば良いか?
Oracle:「意外と簡単!?」 シリーズ
特に運用周りは丁寧な説明がされています。
■Diagnostics Pack
・自動ワークロード・リポジトリ (AWR)
・Automatic Database Diagnostic Monitor(ADDM)
・SQL Tuning
・DB Configuration
・Segment Tuning
・Application Analysis
・Host Configuration
・パフォーマンス・アドバイザ
・SQLチューニング・アドバイザ
・SQLアクセス・アドバイザ
・メモリー・アドバイザ
・セグメント・アドバイザ
WebLogic:ノード マネージャを使用したサーバの制御
ノード マネージャの機能
管理サーバの起動、停止、および再起動
管理対象サーバの起動、停止、中断、および再起動
管理サーバおよび管理対象サーバの再起動
サーバのモニタとログ データの表示
WebLogic:WebLogicマニュアルURL(パフォーマンス中心)
http://otndnld.oracle.co.jp/document/products/owli/docs10gr3/index.html
・Oracle WebLogic Server Process Edition 10g Release 3 (10.3)
http://otndnld.oracle.co.jp/document/products/owli/docs10gr3/wlspe.html
・BEA WebLogic Server 9.2 マニュアル
WebLogic Server パフォーマンス チューニング ガイド
http://otndnld.oracle.co.jp/document/products/wls/docs92/perform/index.html
・BEA WebLogic Server 8.1 ドキュメント
WebLogic Server パフォーマンス チューニング ガイド
http://otndnld.oracle.co.jp/document/products/wls/docs81/perform/index.html
2009年6月7日日曜日
ITIL:V3とV2の違い
ITIL V2では、
「サービスマネジメント導入計画立案」
「サービスサポート」
「サービスデリバリ」
「アプリケーション管理」
「ICTインフラストラクチャ管理」
「セキュリティ管理」
「ビジネス観点」
の7冊が主要内容として定義されています。
これに対してITIL V3は、
「サービス戦略」を核にして、
「サービス設計」、
「サービス移行」、
「サービス運用」、
「継続的なサービス改善」
という5冊に凝縮(ぎょうしゅく)されました。
2009年6月3日水曜日
Gmailが落ちたときに“アクセス”する方法を考える - @IT自分戦略
以下どれかのURL経由だと、Gmailが落ちてもメールがみられるかもしれない。
"ログインURL 備考
1 http://gmail.com/ 非SSL
2 http://mail.google.com/mail/ PC用URL。非SSL
3 https://mail.google.com/mail/ PC用URLのSSL版
4 https://mail.google.com/mail/?ui=1 旧バージョンを表示するURL
5 https://mail.google.com/mail/?ui=2 新バージョンを表示するURL
6 http://mail.google.com/mail/h/ 簡易バージョン。Ajax未対応ブラウザ用
7 https://mail.google.com/mail/h/ 簡易バージョンのSSL版
8 http://m.gmail.com/ モバイル用。非SSL
9 https://mail.google.com/mail/x/ モバイル用のSSL版
10 http://mail.google.com/mail/x/gdlakb-/gp/ iPhone用
11 https://mail.google.com/mail/x/gdlakb-/gp/ iPhone用のSSL版
12 https://mail.google.com/mail/feed/atom/ Atomフィード版"
2009年6月1日月曜日
Oracle:SQLチューニングの基盤となる統計情報(4/4) - @IT
遅いSQLは、
SET AUTOTRACE ON
で確認せよ。
■SQL統計情報の基本的な見方
まずは、
・consistent gets:SQLが検索のためにアクセスしたブロック数
→実行に費やすCPU時間はほぼこれに比例する
・physical reads:ディスクから読み込んだブロック数
を見る。
その後
・recursive calls:再帰SQLの実行を見る。
何回か同じSQLを実行しても、この値が大きい場合は、バッファキャッシュを使い果たしている
可能性が高い。
Linux:ユーザアプリ使用メモリサイズ
"ユーザアプリ使用メモリサイズ=
MemTotal
-MemFree
-Buffers
-Cached
-SwapCached
-Slab
-PageTables
-VmallocUsed
"
Linux ページキャッシュ - naoyaのはてなダイアリー
* Linux はメモリがある限りページ単位でブロック型デバイスの入出力をキャッシュする
* I/O はページキャッシュに任せよう
* ページキャッシュの状態は sar -r で確認できる
* DB はメモリにフィットさせよう (http://d.hatena.ne.jp/stanaka/20070427/1177651323)
* ページキャッシュがクリアされてしまったら read してキャッシュに載せよう
* VFS 周りの実装はインタフェースにコールバックを登録していく実装になっている
* tmpfs は read / write が tmpfs 用に実装されている。I/Oに伴うページキャッシュの扱いが通常と違う。