ablog

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

2012-01-01から1年間の記事一覧

パイプライン表関数

テーブル・ファンクションは、行のコレクション(ネストした表またはVARRAY)を戻すユーザー定義のPL/SQLファンクションです。SELECT文のTABLE句の内部でテーブル・ファンクションを起動することで、データベース表のようにこのコレクションから要素を選択でき…

PowerPoint 2007で元の書式を保持してオブジェクトをコピーする

「ホーム」タブ→クリップボードの貼り付け→形式を選択して貼り付けの、リッチテキスト形式(RTF)を指定して見ましたが、なぜか書式なしテキストと同じ形式で貼り付けされてしまいます。 2003と同様に、本来は書式を保持して貼り付くはずなのですが・・・。 Po…

Linux でランキュー待ち時間がCPU時間にカウントされないことを確認した

定期的に割込みが入り、コア単位でチェックしたときにその瞬間どのプロセスがCPUを使っていたかチェックしてそのプロセスにだけCPU時間を加算してそうな気がします。 run キューで待たされた時間は CPU Time にはカウントされない - ablog と書いたが検証し…

/proc/[pid]/stat の各フィールドの意味

/proc/[pid]/stat プロセスの状態についての情報。 これは ps(1) で使われ、 /usr/src/linux/fs/proc/array.c で定義されている。 Man page of PROC とのことなので、Linux Kernel 2.6.18 の fs/proc/array.c を見てみると以下の通り定義されていた。 res = …

Oracle Database や OS の性能統計情報と財務諸表の共通点

このエントリは JPOUG Advent Calendar 3日目への参加記事です。 "Advent Calendar" の意味を調べてみたところ、 「アドベントカレンダー」(Advent Calendar)とは、クリスマスまでの期間(待降節=アドベント)をより楽しく過ごすため、12月1日から24日ま…

適当に作ったカレーが自己最高傑作になってしまったのでメモっておく

冷蔵庫の余りものでカレー作ったらおいしかったのでメモしておく。 市販のルーを使ったゆとり系カレーです。 材料 トマトソース(トマト鍋用に作って冷凍していたもの) ベーコン(冷凍庫に入っていた薄切りされてないやつ) リンゴ2個(冷蔵庫には野菜がな…

LINUXカーネルHACKS

Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック作者: 池田宗広,大岩尚宏,島本裕志,竹部晶雄,平松雅巳,高橋浩和出版社/メーカー: オライリージャパン発売日: 2011/07/26メディア: 単行本(ソフトカバー)購入: 4人 クリ…

Oracle Database の CPU time には割込みで使われた時間は含まれなさそう

SQL*Plus でログインして、自分の PID を調べる [oracle@localhost ~]$ sqlplus neo/zion SQL> select s.sid, s.serial#, p.spid from v$session s, v$process p where p.addr = s.paddr and s.sid = sys_context('USERENV','SID'); SID SERIAL# SPID ------…

run キューで待たされた時間は CPU Time にはカウントされない

門外不出のOracle現場ワザ (DB Magazine SELECTION)作者: 五十嵐建平,大塚信男,小田圭二,鈴木博貴,村方仁出版社/メーカー: 翔泳社発売日: 2005/06/17メディア: 単行本購入: 3人 クリック: 33回この商品を含むブログ (19件) を見るP.54 Elapsed time と CPU T…

Solaris で SJIS のファイルを見たいときは環境変数 LANG に ja_JP.PCK を設定する

Solaris で SJIS のファイルを見たいときは環境変数 LANG に ja_JP.PCK を設定する $ export LANG=ja_JP.PCK vi は LANG ではなく LC_ALL を設定してやるとよい。 $ export LC_ALL=ja_JP.PCK プログラムによって見てる環境変数が違うと思われる。 $ truss -l…

チューニングについての考察

当たり前体操な話 性能問題には、特定の処理が遅い場合とシステム全体が遅い場合がある。 特定の処理が遅い場合は、まずは直列処理を速くする、次に並列化できるところを並列化する。あとは、ハードウェアレベルでCPUのクロック周波数やI/O性能が向上すると…

dbms_xplan.display で statement_id を指定する

dbms_xplan.display で statement_id を指定しないと直近に explain されたSQL文のものが表示されるが、statement_id を指定することもできる。 SQL> explain plan set statement_id '001' for select * from emp; SQL> select plan_table_output from table…

ablog PVランキング Top 50 powerd by Google Analytics

久しぶりに PVランキング Top 50 # ページ ページビュー*1 1 仮想化支援機能(VT-x/AMD-V)を有効化できません - ablog 1428 2 STATSPACK レポートの見方 - ablog 1032 3 Gmail のフィルタで複数のメールアドレスを指定する - ablog 809 4 sar -r でメモリ使用…

Googleの及川さんがブログに書かれていた「置換思考実験」を読んで

あるものの本質を考えてみるには、そのものをほかに置き換えることを考えてみると良い。ほかに置き換え可能だろうか。可能であるとするならば、何がそのものにとって必須なもので、何が付帯的なものだろうか。こんなことを考えてみるのは良い思考実験だ。 置…

特定の拡張子のファイルの合計サイズを調べる

man で調べてみると、 $ man du ... -c, --total produce a grand total -c というオプションがあるらしいので試してみると、 $ du -c *.txt 224 1.txt 20 2.txt 244 total でた。

iostat の各行に時刻を入れる

iostat はこんな感じになっていて、 Thu Nov 11 00:01:01 2012 r/s w/s Mr/s Mw/s wait actv wsvc_t asvc_t %w %b device 0.0 6.0 0.0 0.0 0.0 0.1 0.0 13.7 0 5 ...... 0.0 12.0 0.0 0.1 0.0 0.2 0.0 11.2 0 9 ...... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 …

xargs で標準入力がない場合は何もしない

F本さんに オハヨウゴザイマスコマンド結果 | xargsで、コマンド結果がない場合、xargsにつながないようにするのってどうするんでしたっけ? と聞かれたので調べてみた。 -r 標準入力に空白しか含まれていない場合は、指定したコマンドを実行しない。 通常で…

コンピュータの名著・古典100冊

改訂新版 コンピュータの名著・古典100冊作者: 石田晴久,青山幹雄,安達淳,塩田紳二,山田伸一郎出版社/メーカー: インプレス発売日: 2006/09/21メディア: 単行本(ソフトカバー)購入: 6人 クリック: 204回この商品を含むブログ (40件) を見る図書館で借りて…

strace と ptrace システムコール

strace って ptrace システムコールを使ってて、割込み(例外)も使ってるって書いてたなと思って調べてみた。Linuxカーネル2.6解読室作者: 高橋浩和,小田逸郎,山幡為佐久出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/18メディア: 単行本購…

性能問題の切り分け方法について考えてみる

つれづれなるままに、日ぐらしパソコンに向かひて、心にうつりゆくデータベースの性能問題の切り分け方法をそこはかとなく書き付くれば、あやしうこそ物狂ほしけれ。なエントリ(書きかけ)。一度、脳内をフラッシュしてからまとめるべし。 性能問題による影…

割込みは %sys にはカウントされない

Linux ではカーネルモードでCPUが使われるのは、システムコール、割込み、カーネルスレッドの3つだと思うが、割込みは %sys にカウントされない。ハードウェア割込みは %irq、ソフトウェア割込みは %soft にカウントされる。 %irqShow the percentage of tim…

Linux 2.6 のランキューはCPUコアごとにある

Linux Kernel 2.6 のランキューはCPUコアごとにあると思ったが、調べてみた。[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)作者: 安井真伸,横川和哉,ひろせまさあき,伊藤直也,田…

300万ページビューを超えました

300万ページビューを超えました。 今年の2月に200万ページビューを超えたときに振返りを書いたので、今回はスナップショットだけ残しておきます。 購読者数とブックマーク数 購読者数の推移 ブックマーク数の推移

Oracle Database の性能分析手法

メモ。ネタ集め。 性能分析手法 Oracle Wait Interface http://www.ex-em.co.jp/exem_labo/oracle_tips/OWI.pdf Method R http://method-r.com/faq/35-what-is-method-r Oracle Response Time Analysis 10046 trace name context forever: IOUG (Collaborate…

db tech showcase 2012 で「Welcome to the Real World」というお題で発表しました

db tech showcase 2012 の Unconference で、 "Welcome to the Real World" というお題で発表しました。「世界中のデータベース技術者の"Rock"な叫びと生意気さがここに」というテーマということでワイルドで荒削りな資料になってます。 映画「The Matrix」…

システムコールの先を追え

SQL*Plus でログインしてサーバープロセスの PID を確認して、 [oracle@localhost ~]$ sqlplus neo/zion SQL> select s.sid, s.serial#, p.spid from v$session s, v$process p where p.addr = s.paddr and s.sid = sys_context('USERENV','SID'); SID SERIA…

SQLトレースとstrace

[oracle@localhost ~]$ sqlplus neo/zion SQL*Plus: Release 11.2.0.2.0 Production on Wed Oct 17 17:50:41 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Pro…

SQLトレースに関するメモ

SQL> alter session set sql_trace=true; Session altered. SQL> select to_char(sysdate,'yyyymmddhh24miss') from dual; TO_CHAR(SYSDAT -------------- 20121017170716 SQL> exit [oracle@localhost ~]$ cd app/oracle/diag/rdbms/orcl/orcl/trace/ [orac…

sudoの設定

[root@localhost ~]# visudo oracle ALL=(ALL) NOPASSWD: ALL 甘々設定

SystemTap で Linux のカーネル内のコールスタックを見てみる

SystemTap を使って Linux カーネル内のコールスタックを見てみた。 submit_bio.stp probe kernel.function("submit_bio"){ printf("%s[%d]\n",execname(),pid()) print_backtrace() } 実行結果 [root@localhost ~]# stap submit_bio.stp kjournald[316] 0xc…