badulog
日々の覚書と雑記
スポンサーサイト
2011.05.01 Sunday |
この広告は60日以上更新がないブログに表示されております。
新しい記事を書くことで広告を消すことができます。
新しい記事を書くことで広告を消すことができます。
スポンサードリンク | - | - | - | - |
[emacs] find-fileのデフォルト
2011.04.30 Saturday | 09:22
emacsというかxyzzyで、findfileの最初のパスをデスクトップにしたかったので・・
;;; 起動直後のfind-fileのパスをデスクトップにする
(cd "C:/Documents and Settings/xxxxxx/デスクトップ/")
を追加したらできた。
;;; 起動直後のfind-fileのパスをデスクトップにする
(cd "C:/Documents and Settings/xxxxxx/デスクトップ/")
を追加したらできた。
[linux]fork後のCopyOnWrite共有
2011.01.07 Friday | 09:18
- /proc/[pid]/smaps (Linux 2.6.14 以降)
-
このファイルは、そのプロセスの各マッピングのメモリ消費量を表示する。
マッピングのそれぞれについて、以下のような内容が表示される。
08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash
最初の行には、 /proc/[pid]/maps で表示されるマッピングと同じ情報が表示される。 残りの行には、マッピングのサイズ、現在 RAM 上に存在するマッピングの量、 マッピング内の共有ページのうちクリーンなページ数、ダーティなページ数、 マッピング内のプライベートページのうちクリーンなページ数、 ダーティなページ数、を示す。
Size: 464 kB
Rss: 424 kB
Shared_Clean: 424 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kBこのファイルが存在するのは、カーネルのコンフィギュレーション・オプション CONFIG_MMU を有効にした場合だけである。
- ↑Man pageof PROC
fork後、CopyOnWriteでcopy前の共有時点ではSharedになって、
書きこまれて実際にcopyされるとPrivateになる模様。
参考)
http://d.hatena.ne.jp/naoya/20080212/1202830671
[linux] ログアウトしてもコマンド続行 - nohup
2010.09.14 Tuesday | 21:21
アドレスいっぱい付与しているマシンに、リモートでログインしている時に、
/etc/init.d/network restart
すると、
今、自分がログインしているアドレスが削除されて、再度付与されるまでに
時間がかかる。
その間に、sshセッションが切れて network restartしているプロセスも途中で終了している模様。
(ログインしているインタフェースの順番によっては、
ssh(クライアント??)のタイマ内にセッション復活することで
network restartが最後まで走ることもある)
おしりに&つけても、ちょっとマシになる程度だったので、
色々調べて・・nohup
nohup /etc/init.d/network restart
これでsshセッションが切れても、network restart自体は最後まで走ってくれて、
再びログイン可能になる。
/etc/init.d/network restart
すると、
今、自分がログインしているアドレスが削除されて、再度付与されるまでに
時間がかかる。
その間に、sshセッションが切れて network restartしているプロセスも途中で終了している模様。
(ログインしているインタフェースの順番によっては、
ssh(クライアント??)のタイマ内にセッション復活することで
network restartが最後まで走ることもある)
おしりに&つけても、ちょっとマシになる程度だったので、
色々調べて・・nohup
nohup /etc/init.d/network restart
これでsshセッションが切れても、network restart自体は最後まで走ってくれて、
再びログイン可能になる。
[perl] 出力のバッファリング
2010.08.25 Wednesday | 12:29
perlのprintはデフォルト、バッファリングする模様。
嫌ならsyswriteを使えとのこと。
嫌ならsyswriteを使えとのこと。
syswrite FOUT,$data,length($data);
↑が基本、
もう一個第4パラにオフセットも指定できて、
途中からも出せる。
↑が基本、
もう一個第4パラにオフセットも指定できて、
途中からも出せる。
[SIP] EarlyDialogとは
2009.10.07 Wednesday | 11:12
つまり101〜199応答を受信した状態のダイアログのこと。この仕様では、(リクエストがINVITEだった)To tagを持つ2xx応答および101から199応答のみがダイアログを確立するだろう。
リクエストに対する非最終応答で確立されたダイアログは、earlyステートにあり、それはearlyダイアログと呼ばれる。
[emacs] php編集時の最低限の.emacsとphp-mode導入
2009.02.11 Wednesday | 10:42
■ php-mode 導入
$ sudo apt-get install php-mode
で一発。これで
./emacs/site-lisp/php-mode
./emacs/site-lisp/php-mode/php-mode.el
./emacs/site-lisp/php-mode/php3-mode.el
とか、
./emacs22/site-lisp/php-mode
./emacs22/site-lisp/php-mode/php-mode.elc
./emacs22/site-lisp/php-mode/php3-mode.elc
が入った。
■ .emacs設定
(load-library "php-mode")
(require 'php-mode)
;;php-modeのタブ設定
(add-hook 'php-mode-user-hook
'(lambda ()
(setq tab-width 4)
(setq c-basic-offset 4)
(setq indent-tabs-mode nil)))
起動時にphp-modeをロードすることと
php-modeのロードをフック(トリガ)として、
設定する変数を書いたって感じか。
どんなhookがあるかとか、ロードの仕方とかは
php-mode.elに書いてある。
あと、.emacsについてはここが詳しい。
$ sudo apt-get install php-mode
で一発。これで
./emacs/site-lisp/php-mode
./emacs/site-lisp/php-mode/php-mode.el
./emacs/site-lisp/php-mode/php3-mode.el
とか、
./emacs22/site-lisp/php-mode
./emacs22/site-lisp/php-mode/php-mode.elc
./emacs22/site-lisp/php-mode/php3-mode.elc
が入った。
■ .emacs設定
(load-library "php-mode")
(require 'php-mode)
;;php-modeのタブ設定
(add-hook 'php-mode-user-hook
'(lambda ()
(setq tab-width 4)
(setq c-basic-offset 4)
(setq indent-tabs-mode nil)))
起動時にphp-modeをロードすることと
php-modeのロードをフック(トリガ)として、
設定する変数を書いたって感じか。
どんなhookがあるかとか、ロードの仕方とかは
php-mode.elに書いてある。
あと、.emacsについてはここが詳しい。
[linux] ubuntuでhappy hacking
2009.01.17 Saturday | 14:15
virtual boxでubuntu on Vistaって環境。
どうも"}"が打てなかったのでキーボード設定。
システム->キーボードから
「Fujitsu」を選択。
んでから"happy hacking for mac"を選ぶと割とうまくいった。
どうも"}"が打てなかったのでキーボード設定。
システム->キーボードから
「Fujitsu」を選択。
んでから"happy hacking for mac"を選ぶと割とうまくいった。
[linux] オープン可能なファイル数
2008.12.12 Friday | 10:43
TCPコネクションの数の限界とか調べる上で,
すなわちファイルディスクリプタの限界
■まずシステム全体の話
[/proc/sys/fs/file-max]
オープン可能なファイル数の上限。値の変更を行うことも可能。
[/proc/sys/fs/file-nr]
次の3つの情報を確認することが可能です。
1. オープンされているファイル数
2.「確保はされているけれど, 今使われていないぶん」
3. オープン可能なファイル数の上限(/proc/sys/fs/file-max と同じ値)
ref)
http://search.luky.org/linux-users.8/msg01382.html
■プロセスごとは
ulimitだな.-n
すなわちファイルディスクリプタの限界
■まずシステム全体の話
[/proc/sys/fs/file-max]
オープン可能なファイル数の上限。値の変更を行うことも可能。
[/proc/sys/fs/file-nr]
次の3つの情報を確認することが可能です。
1. オープンされているファイル数
2.「確保はされているけれど, 今使われていないぶん」
3. オープン可能なファイル数の上限(/proc/sys/fs/file-max と同じ値)
ref)
http://search.luky.org/linux-users.8/msg01382.html
■プロセスごとは
ulimitだな.-n
-a 設定されている各種の制限を表示する
-c プロセスがファイルへコア・ダンプする容量を最大Nブロックに制限する
-d プロセスのデータ領域のサイズを最大Nキロ・バイトに制限する
-f 出力ファイルのサイズを最大Nブロックに制限する
-l メモリーにロックできるサイズを最大Nキロ・バイトに制限する
-m メモリーの使用量を最大Nキロ・バイトに制限する
-n ファイル・ディスクリプタの数を最大N個に制限する
-p パイプのサイズを最大N×512バイトに制限する
-s スタック・サイズを最大Nキロ・バイトに制限する
-t CPU時間を最大N秒に制限する
-u ユーザー1人が起動できるプロセス数を最大N個に制限する
-v シェルが利用できる仮想メモリーを最大Nキロ・バイトに制限する
-H いったん設定した制限を解除できなくする
-S -Hで制限した最大値以内の値を設定する
-t コマンドの型を表示する
[linux]ページキャッシュとバッファキャッシュ再考
2008.12.03 Wednesday | 18:18
ページキャッシュとバッファキャッシュについてもう一度考えてみる.
前の記事
http://baduizm.jugem.jp/?eid=83
今のところ、以下のような説があるけど何が正解かは不明。
■全体的なお話
(1)構造的には
+--------------+
| system call |
+--------------+
| page cache |
+--------------+
| buffer cache |
+--------------+
| disk |
+--------------+
(2) 昔は
上記のような感じでなく,並列なイメージで
readはページキャッシュ,writeはバッファキャッシュだったらしい.
今は,r/wともページキャッシュ→バッファキャッシュ.
(3) イメージとしては
1. ページキャッシュ探しに行く.ヒットすれば終了.
2. バッファキャッシュ探しに行く.ヒットすれば終了.
(これは誰が主語か?これで見つけたらページキャッシュにも残るはず)
3. なかったらディスクIOが発生してバッファキャッシュに引き上げるのかな.
(4) 両方とも
実体はハッシュで実装されてる
■ ページキャッシュって
(1) free,topで言うと"cache"で表示される
(2) いわゆるキャッシュのイメージどおりで理解しやすい
(3) ファイル丸ごとでなく,ページ単位でキャッシュする.
ページ = 仮想メモリの最小単位 = カーネルがメモリを扱う時の最小単位
(4) (ページキャッシュは,というかページは)i-nodeとファイルオフセットでアクセス
■ バッファキャッシュって
(1) free,topで言うと"buffer"で表示される
(2) なんか良くわからん
(3) バッファは固定サイズ(たとえば、512 バイト)
(4) デバイス識別子とブロック番号でindexされる
目的はデータブロックを素早く見つけ出すため
前の記事
http://baduizm.jugem.jp/?eid=83
全体的に間違ってる気がするので、削除。
今のところ、以下のような説があるけど何が正解かは不明。
(a) 単純にi-nodeとかdentryなどメタデータのキャッシュがバッファで、ファイルのキャッシュがページキャッシュ
(b) ブロックデバイスファイルを扱うときに使うのがバッファ。
(c) ユーザ側がページで、デバイス側がバッファ。
■全体的なお話
(1)構造的には
+--------------+
| system call |
+--------------+
| page cache |
+--------------+
| buffer cache |
+--------------+
| disk |
+--------------+
(2) 昔は
上記のような感じでなく,並列なイメージで
readはページキャッシュ,writeはバッファキャッシュだったらしい.
今は,r/wともページキャッシュ→バッファキャッシュ.
(3) イメージとしては
1. ページキャッシュ探しに行く.ヒットすれば終了.
2. バッファキャッシュ探しに行く.ヒットすれば終了.
(これは誰が主語か?これで見つけたらページキャッシュにも残るはず)
3. なかったらディスクIOが発生してバッファキャッシュに引き上げるのかな.
(4) 両方とも
実体はハッシュで実装されてる
■ ページキャッシュって
(1) free,topで言うと"cache"で表示される
(2) いわゆるキャッシュのイメージどおりで理解しやすい
(3) ファイル丸ごとでなく,ページ単位でキャッシュする.
ページ = 仮想メモリの最小単位 = カーネルがメモリを扱う時の最小単位
(4) (ページキャッシュは,というかページは)i-nodeとファイルオフセットでアクセス
■ バッファキャッシュって
(1) free,topで言うと"buffer"で表示される
(2) なんか良くわからん
(3) バッファは固定サイズ(たとえば、512 バイト)
(4) デバイス識別子とブロック番号でindexされる
目的はデータブロックを素早く見つけ出すため
thunderbirdが「このフォルダは処理中です」ってなったら
2008.11.28 Friday | 10:40
C:¥Documents and Settings¥xxxx¥Application Data¥Thunderbird¥Profiles¥xxxxxx¥Mail¥yyyyy
配下のpopstate.datみたいな名前のファイルを削除
たぶん,これがロックファイルみたいになってて,握りっぱなしになってる.
配下のpopstate.datみたいな名前のファイルを削除
たぶん,これがロックファイルみたいになってて,握りっぱなしになってる.
