Skip to content

Instantly share code, notes, and snippets.

View hiboma's full-sized avatar

Hiroya Ito hiboma

View GitHub Profile
--- /tmp/1.txt 2015-08-28 19:10:53.000000000 +0900
+++ /tmp/2.txt 2015-08-28 19:11:05.000000000 +0900
@@ -1,9 +1,5 @@
aa/01.jpg
aa/02.jpg
aa/03.jpg
-aa/bb/01.jpg
-aa/bb/02.jpg
-aa/bb/03.jpg
-aa/cc/01.jpg
--- /tmp/1.txt 2015-08-28 19:10:53.000000000 +0900
+++ /tmp/2.txt 2015-08-28 19:11:05.000000000 +0900
@@ -1,9 +1,5 @@
aa/01.jpg
aa/02.jpg
aa/03.jpg
-aa/bb/01.jpg
-aa/bb/02.jpg
-aa/bb/03.jpg
-aa/cc/01.jpg

VirtualBox + CentOS6.5 + Mac OSX (Mavericks) で シェルのキー操作が遅いのを調べてる

ここに書いたネタの続き http://d.hatena.ne.jp/hiboma/20140318

perft top で計測してみる

  • perf top -p <sshd> でシェルプロンプトを表示しているプロセスを perf
    • シェルのプロンプトの表示を請け負っているのは sshd。 bash じゃないのに注意
  • シェルプロンプトでエンターキーを押しっぱなしにする
    • ネットワークからの割り込みが続く状態で
@hiboma
hiboma / gist:9865994
Last active August 29, 2015 13:57
perf 計測生データ
perf 計測生データ
* perf record -p <pid> で profile を取る
* bash と sshd を対象とする
* sshd は TCPソケットでホストOSからのパケットを受け取ってシェルプロンプトに文字を書くのを請け負っている
* ネットワーク割り込みが直接関係するのは、たぶん、sshd
* エンターキー押しっぱなし、適当なキーを押しっぱなしにしてる状態の profile を取る
#!/bin/bash
#
# here is an original code:
# http://serverfault.com/questions/173999/dump-a-linux-processs-memory-to-file
#
function extract_memory_region()
{
pid=$1
grep rw-p /proc/${pid}/maps | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p'
}

title

あああ

title2

#!/usr/bin/ruby
#!/usr/bin/perl
use strict;
use warnings;
my $packages = shift or die "[usage] $0";
print `rpm -q $packages`;
exit;
@hiboma
hiboma / gist:896bf9fe34144cb5bc94
Last active August 29, 2015 14:05
chown の怪

chown の uid, gid に -1 を渡して呼び出すと、オーナー権限のないディレクトリでも ctime が更新されてしまうんだけどよいの?

手順

ルートディレクトリを対象に見てみます。

まずは stat で ctime (Change) を確認。

$ stat /

要件

  • proxy する前に ngx_mruby で認証したい

mruby_access_handler_code の検証に書いた nginx.conf

  • ngx_mruby は master を clone
  • nginx は nginx/1.7.6
[vagrant@vagrant-centos65 ~]$ cat /proc/4451/stack
[<ffffffff8111f96d>] sync_page+0x3d/0x50
[<ffffffff8111f907>] __lock_page+0x67/0x70
[<ffffffff8111fc30>] __lock_page_or_retry+0x20/0xc0
[<ffffffff8114affc>] handle_pte_fault+0xa9c/0xb00
[<ffffffff8114b28a>] handle_mm_fault+0x22a/0x300
[<ffffffff8114b48a>] __get_user_pages+0x12a/0x430
[<ffffffff8114b829>] get_user_pages+0x49/0x50
[<ffffffff8114b947>] __access_remote_vm+0x117/0x1f0
[<ffffffff8114ba7b>] access_process_vm+0x5b/0x80