ablog

不器用で落着きのない技術者のメモ

2016-10-01から1ヶ月間の記事一覧

ファイル名でパターンマッチするファイルだけコピーする

find . -regex '.*2016102[0-6].*' -print0|xargs -I{} -0 cp -pi {} ~/tmp/

tar でファイル名で部分マッチするファイルだけ解凍・展開する

find . -name '*.tar.gz' -print0|xargs -0 -I{} tar xf {} './sar_-u*'

Perl ワンライナーにシェル変数を渡す

Perl ワンライナーでシェル変数を渡すには -s オプションを使えばよい。 書式 perl -se '...' -- -Perlで使う変数名=シェル変数名 実行例 $ FOO=bar; perl -sle 'print $var' -- -var=$FOO bar 参考 sオプションを使います echo -e "hogehoge\nfugafuga" > m…

tar の解凍結果を -O オプションで標準出力する

tar で解凍するときに標準出力したい場合は -O オプションをつければよい。 書式 全て解凍して標準出力 tar xfvz sqlcl.tar.gz -O 特定のファイルのみ解凍して標準出力 tar xfvz sqlcl.tar.gz -O sqlcl/bin/sql 実行例 $ tar cfz sqlcl.tar.gz sqlcl $ tar t…

tar.gz を解凍せずにその中の特定ファイルの中身を検索する

sar、vmstat、iostat、top などが日別に一つの tar.gz にアーカイブ・圧縮されているファイルを解凍せずに、top の中身を検索するのに使ったコマンド。 find ./ -type f -name '*.tar.gz'|sort -n|while read LINE do tar tfz ${LINE}|egrep '^./top_'|xargs…

JDBC Driver の(プリ)フェッチサイズを Weblogic などで設定する方法

Weblogic は接続プールの接続プロパティに defaultRowPrefetch=XX を設定するとアプリのコードを変えずに(プリ)フェッチサイズを変更できる。 詳しくは以下の通り。 フェッチサイズを設定する方法は以下の3つ java.sql.Statement#setFetchSize Row Prefetch …

Flame Graph を使った Java-on-JDBC vs. PLSQL の分析

Oracle Real-World Performance チームの Toon Koppelaars の Flame Graph を使った Java-on-JDBC vs. PLSQL の分析面白い。The Helsinki Declaration (IT-version): NoPlsql vs ThickDB: which one requires a bigger database server?

InnoDB の Double Write の話

"Partial page writes is when page write request submited to OS completes only partially. " MySQL のストレージエンジン InnoDB は partial page writes を防ぐ為に double write という機能がある。page は Oracle Database でいう block。Partial pag…

Oracle Database の Wait Time と CPU Time が1つの Flame Graph に

Oracle Database の Wait Time と CPU Time が1つの Flame Graph に、素晴らしい! I/Oシステムコール発行時に実はカーネルコードが ON CPU で時間を使っていたというようなケースも腕ひしぎ十字固めで一本。それくらいならAWRレポートだけでも Awr1page 的…

NVDIMMのホワイトペーパー

赤井さん、伊藤さん、長谷川さんに教えてもらった、NVDIMMの検証結果。 SSDの限界を超えるアプリケーション高速化、「NVDIMM」の導入効果は?/日本ヒューレット・パッカード株式会社 [SSD/半導体ストレージ/フラッシュストレージ] 事例・サービス資料等 |…

Awr1page

AWR Ambiguity: Performance reasoning when the numbers don't add up DB Time カーネルが ON CPU で使う時間が含まれ、DB CPU(Linuxなら getrusageで取得)にも含まれるのでダブルカウントされるからという話。しかし、1回のI/Oシステコールあたり 1ms もCP…

プロセス別の PTE は /proc/[pid]/status の VmPTE で確認できる

$ cat /proc/1741/status Name: bash State: S (sleeping) Tgid: 1741 Pid: 1741 PPid: 1740 TracerPid: 0 Uid: 1200 1200 1200 1200 Gid: 54321 54321 54321 54321 FDSize: 256 Groups: 54321 54322 54323 54324 54325 54326 54327 VmPeak: 108516 kB VmSiz…