ablog

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

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

2014年の目標

テーマは done (ドゥーン!) 結果を出す 昔、ある方に「結果が伴わないない努力は努力ではない」と言われたな 具体的には明日考えよう 参考 2009年を振り返って - ablog 2012年の目標は「Concentration」 - ablog 2013年の目標 - ablog

2013年の振り返り

2013年の目標 - ablogを振り返ると、 むむ、達成感ゼロ。来年から本気出すw書きかけ。。。のままだった 2013年の目標 マインド 怠慢(Laziness)、短気(Impatience)、傲慢(Hubris)*1 → 全然できてない 健全な精神は健全な肉体に宿る 早寝早起き(11:00就寝、5:…

Oracle Linux 6.4 に Sphinx をインストールする

インストールする 当り前だが、Yum リポジトリと通信できる必要がある*1 # yum install python-sphinx ... Dependencies Resolved =====================================================================================================================…

Sublime Text 3 をインストールしてみた

Download - Sublime Text から Windows 64 bit をクリックして Sublime Text Build 3059 x64 Setup.exe をダウンロードする。 Sublime Text Build 3059 x64 Setup.exe を実行し、インストールウイザードに従ってインストールする。 Package Controlをインス…

VirtualBox でホストOSとゲストOSのクリップボードを共有する方法

[Settings]-[General]-[Advanced] で [Shared Clipboard] を Bidirectional*1 に設定する。 *1:双方向になる。Host to Guest や Guest to Host にすると片方向になる

Linux で I/Oサイズを調べる方法

JPOUG Advent Calendar 2013 の19日目です。 18日目は yoshikaw さんのOracle Databaseを扱う上で知っておきたい変数10選 - Keep It Simple, Stupidでした。Linux で実際に発行された I/O のサイズを調べる方法を紹介します。 debugfs をマウントする [root@…

Oracle Linux のディストリビューションとカーネルバージョンを調べる方法

例えば、Oracle Linux 5.9 のカーネルバージョンを調べたい場合は、Oracle Linux Release Notes を見れば以下のように記述されています。 Oracle Linux 5.9 ships with the following kernel packages Unbreakable Enterprise kernel [kernel-uek-2.6.39-300…

sysのCPU使用率が高い場合にその内訳を調べる方法

OSレベルで sys のCPU使用率が高い場合に perf*1 を使って、何の処理の割合が高いか調べる方法です。 perf は 特定のプロセスだけでなくOS全体の統計を見れる カーネル(sys)とユーザー(user)の両方を見れる ところが非常に便利だと思う*2。 準備 ひたす…

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

iPhone初期化方法が圧倒的w # ページ ページビュー数 1 iPhone初期化方法 - ablog 5,095 2 iPhone初期化方法 - ablog 3,556 3 App store アプリアップデートの際に要求されるApple IDが違う - ablog 1,255 4 仮想化支援機能(VT-x/AMD-V)を有効化できません -…

Oracle Unbreakable Enterprise Kernel Release 3 (UEK R3) をインストールする

We are excited to announce the general availability of the Unbreakable Enterprise Kernel Release 3 for Oracle Linux 6. The Unbreakable Enterprise Kernel Release 3 (UEK R3) is Oracle's third major supported release of its heavily tested and…

DoCoMo L-05A を Oracle Linux 6.4 on ThinkPad X230 から利用する

WvDial というユーティリティーを使って接続する。*1 設定 /etc/wvdial.conf を以下の通り設定する [Dialer Defaults] Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 Modem Type = USB Modem Phone = *99***3# ISDN = 0 Username = '' Init1 = ATZ Password = '' Modem =…

ファイルが O_DIRECT フラグを指定してオープンされているか確認する方法

Kernel 2.6.22 以降だと /proc/$pid/fdinfo/$fd で確認できるんですね。 [yazekats@yazekats-linux ~]$ touch test.dat [yazekats@yazekats-linux ~]$ perl -e 'sysopen($FH, "./test.dat", O_WRONLY | O_TRUNC | O_CREAT | O_ASYNC | O_DIRECT, 0666);sleep…

Oracle Linux 6.4 の core dump の出力先

シグナルを送ってコアダンプを吐かせる。 [yazekats@yazekats-linux ~]$ cat /proc/sys/kernel/core_pattern |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e [yazekats@yazekats-linux ~]$ ulimit -c unlimited [yazekats@yazekats-linux ~]$ ulimit -c …

Oracle Linux 6.4 に Chromium をインストールする

インストール chromium をインストールする。 [root@yazekats-linux ~]# cd /etc/yum.repos.d [root@yazekats-linux yum.repos.d]# wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo [root@yazekats-linux yum.repos.d]# yum install c…

Oracle Linux 6.4 の日本語入力を Google Input Method(mozc) にする

インストール root@yazekats-linux yum.repos.d]# wget 'http://download.opensuse.org/repositories/home:/sawaa/ScientificLinux_6/home:sawaa.repo' [root@yazekats-linux yum.repos.d]# mv home\:sawaa.repo home-sawaa.repo [root@yazekats-linux yum.r…

blktrace と btt を使ってみる

debugfs をマウントする。 [root@yazekats-linux ~]# mount -t debugfs debugfs /sys/kernel/debug blktrace でトレースを取得する。 [root@yazekats-linux work]# blktrace -w 30 -d /dev/sda -o sda === sda === CPU 0: 160503 events, 7524 KiB data CPU …

Seekwatcher を使ってみる

Seekwatcher generates graphs from blktrace runs to help visualize IO patterns and performance. It can plot multiple blktrace runs together, making it easy to compare the differences between different benchmark runs. Seekwatcher なんとこん…

blktrace を使ってみる

[root@yazekats-linux ~]# blktrace -d /dev/sda -o -|blkparse -i - Invalid debug path /sys/kernel/debug: 0/Success と怒られた。 [root@yazekats-linux ~]# mount -t debugfs debugfs /sys/kernel/debug とすると、使えるようになった。 [root@yazekats…

Lenovo X230 のタッチパッドを無効化する

起動時に Enterキー、F1キーを押してBIOS設定画面を表示する。 [Config]-[Keyboad/Mouse]を選択する。 [Touch Pad]を「Disable」に設定する。

SSDにしたのでI/Oスケジューラを noop に変更してみた

PC の HDD を SSD に変更したので、I/Oスケジューラを noop に変更してみた。 SSD は HDD のようにシーク(目的のレコードが記憶されたシリンダにヘッドを移動)したり、サーチ(目的のセクタの先頭がヘッドの位置に来るのを待つ)したり、物理的な動きはな…

VirtualBox の仮想ディスクサイズを変更する

$ VBoxManage modifyhd Win7OBI.vdi --resize 81290 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 参考 狩塊-KARIKATAMARI- : 【VirtualBox】仮想ディスクの拡張方法(VDI) VirtualBox:ストレージサイズ拡張 -1- - 北の窓から(芦田っ…

VirtualBoxのシームレスモードを使ってホストOSとゲストOSの世界を融合する

ホストOSは Oracle Linux 6.4、ゲストOSは Windows 7 です。 シームレスモードでホストOSとゲストOSが融合しています。 シームレスモードを使うには Guest Additions をインストールする必要があります。インストール手順は以下の通り。 Guest Additions を…

Cygwin でコマンドラインでパッケージをインストールする

インストール bash-3.2$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/ A /bin A /bin/apt-cyg Exported revision 18. bash-3.2$ chmod 755 /bin/apt-cyg 参考 apt-cygの使い方: Cygwinでコマンドラインからパッケージをインストール…

libaioでの非同期I/O発行時にプロセスはブロックされるか

fio を実行して、 [yoheia@www****** ~]$ fio -rw=randwrite -bs=4k -size=100m -directory=/tmp -direct=1 -numjobs=2 -name=file1 -ioengine=libaio file1: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1 file1: (g=0): rw=rand…

ベンチマークツールfioを使ってみる

インストール [root@www****** ~]# yum install fio ... Running Transaction Installing : fio-2.0.13-1.el6.x86_64 1/1 Verifying : fio-2.0.13-1.el6.x86_64 1/1 Installed: fio.x86_64 0:2.0.13-1.el6 Complete! 使ってみる [yoheia@www****** ~]$ fio -…

実行中のプロセスのシェル制限を確認する

/proc//limits ってのを見つけた [yoheia@www****** ~]$ echo $$ 7292 [yoheia@www****** ~]$ cat /proc/7292/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size …

svctm * (r/s+w/s) is always 1000 if %util is 100%.

If %util is 100%, svctm is just 1 / (r/s + w/s) seconds, 1000/(r/s+w/s) milliseconds. This is an inverse number of IOPS. In other words, svctm * (r/s+w/s) is always 1000 if %util is 100%. So checking svctm is practically as same as checkin…

stressコマンドでI/O負荷をかけてみる

http://d.hatena.ne.jp/happs/20100912/1284253155 を参考に stress コマンドで I/O 負荷をかけてみた。 インストールする。 [root@****** ~]# yum install stress Is this ok [y/N]: y ... Is this ok [y/N]: y ... Installed: stress.x86_64 0:1.0.4-4.el6…

iostat はどのように %util を算出しているか(2)

iostat はどのように %util を算出しているか - ablog でソースコードから追ってみたが静的な追跡だけだとしんどいので、動的な追跡もやってみた。strace を使って iostat でオープンしているファイルを調べて、 [root@www****** ~]# strace -e open iostat …

SystemTap を使おうとすると"Missing separate debuginfos"とエラーが出る

こんなスクリプトを作って、 [root@www****** ~]# cat diskstats_show.stp #!/usr/bin/stap -v probe kernel.statement("*@*block/genhd.c:1078") { print_backtrace() } 実行すると、 [root@www****** ~]# ./diskstats_show.stp Pass 1: parsed user script…