]
トップ «前の日記(2009-01-05) 最新 次の日記(2009-01-07)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2009-01-06 [長年日記]

_ Zaurusでも、Ubuntuを動かす Zubuntu

(http://www.linuxdevices.com/news/NS3781573061.html)

_ powertop

kernelが新しくないと、真価を発揮しないので etch でカーネルを作るよりも lenny で、powertop を動かした方がいいかと思います。Laptop の消費電力を下げるアドバイスも受けることができます。

なにもしなくても、イメージpowertop の画面のように日本語で表示してくれます。(クリックすると拡大します。帰ってくるのは、ブラウザの戻るボタンを使ってください。)

_ pmap は、/proc/[pid]/maps を見ている

昔のエントリーで言及した、pmap 、procps パッケージにはいっている man 1 pmap のソースをみると、タイトルのように/proc/[pid]/maps の情報を元にしてデータを生成している。pmap には、-xの拡張モードと、-dのデバイスモードがあり表示の方法が異なっている。

拡張モード
yabuki@yelona:~$ sudo pmap -x 1
1:   init [2]  
Address   Kbytes     RSS    Anon  Locked Mode   Mapping
08048000      32       -       -       - r-x--  init
08050000       4       -       -       - rw---  init
08c99000     132       -       -       - rw---    [ anon ]
b7e3e000       4       -       -       - rw---    [ anon ]
b7e3f000       8       -       -       - r-x--  libdl-2.7.so
b7e41000       8       -       -       - rw---  libdl-2.7.so
b7e43000    1364       -       -       - r-x--  libc-2.7.so
b7f98000       4       -       -       - r----  libc-2.7.so
b7f99000       8       -       -       - rw---  libc-2.7.so
b7f9b000      16       -       -       - rw---    [ anon ]
b7f9f000      92       -       -       - r-x--  libselinux.so.1
b7fb6000       8       -       -       - rw---  libselinux.so.1
b7fb8000     208       -       -       - r-x--  libsepol.so.1
b7fec000       4       -       -       - rw---  libsepol.so.1
b7ffe000       8       -       -       - rw---    [ anon ]
b8000000       4       -       -       - r-x--    [ anon ]
b8001000     104       -       -       - r-x--  ld-2.7.so
b801b000       8       -       -       - rw---  ld-2.7.so
bfd08000      84       -       -       - rw---    [ stack ]
-------- ------- ------- ------- -------
total kB    2100       -       -       -
デバイスモード
yabuki@yelona:~$ sudo pmap -d 1
1:   init [2]  
Address   Kbytes Mode  Offset           Device    Mapping
08048000      32 r-x-- 0000000000000000 0fe:00001 init
08050000       4 rw--- 0000000000007000 0fe:00001 init
08c99000     132 rw--- 0000000008c99000 000:00000   [ anon ]
b7e3e000       4 rw--- 00000000b7e3e000 000:00000   [ anon ]
b7e3f000       8 r-x-- 0000000000000000 0fe:00001 libdl-2.7.so
b7e41000       8 rw--- 0000000000001000 0fe:00001 libdl-2.7.so
b7e43000    1364 r-x-- 0000000000000000 0fe:00001 libc-2.7.so
b7f98000       4 r---- 0000000000155000 0fe:00001 libc-2.7.so
b7f99000       8 rw--- 0000000000156000 0fe:00001 libc-2.7.so
b7f9b000      16 rw--- 00000000b7f9b000 000:00000   [ anon ]
b7f9f000      92 r-x-- 0000000000000000 0fe:00001 libselinux.so.1
b7fb6000       8 rw--- 0000000000016000 0fe:00001 libselinux.so.1
b7fb8000     208 r-x-- 0000000000000000 0fe:00001 libsepol.so.1
b7fec000       4 rw--- 0000000000034000 0fe:00001 libsepol.so.1
b7ffe000       8 rw--- 00000000b7ffe000 000:00000   [ anon ]
b8000000       4 r-x-- 00000000b8000000 000:00000   [ anon ]
b8001000     104 r-x-- 0000000000000000 0fe:00001 ld-2.7.so
b801b000       8 rw--- 000000000001a000 0fe:00001 ld-2.7.so
bfd08000      84 rw--- 00000000bffeb000 000:00000   [ stack ]
mapped: 2100K    writeable/private: 284K    shared: 0K
生のprocから読み出した値
yabuki@yelona:~$ sudo cat /proc/1/maps 
08048000-08050000 r-xp 00000000 fe:01 8060945    /sbin/init
08050000-08051000 rw-p 00007000 fe:01 8060945    /sbin/init
08c99000-08cba000 rw-p 08c99000 00:00 0          [heap]
b7e3e000-b7e3f000 rw-p b7e3e000 00:00 0 
b7e3f000-b7e41000 r-xp 00000000 fe:01 12600907   /lib/i686/cmov/libdl-2.7.so
b7e41000-b7e43000 rw-p 00001000 fe:01 12600907   /lib/i686/cmov/libdl-2.7.so
b7e43000-b7f98000 r-xp 00000000 fe:01 12600903   /lib/i686/cmov/libc-2.7.so
b7f98000-b7f99000 r--p 00155000 fe:01 12600903   /lib/i686/cmov/libc-2.7.so
b7f99000-b7f9b000 rw-p 00156000 fe:01 12600903   /lib/i686/cmov/libc-2.7.so
b7f9b000-b7f9f000 rw-p b7f9b000 00:00 0 
b7f9f000-b7fb6000 r-xp 00000000 fe:01 11427900   /lib/libselinux.so.1
b7fb6000-b7fb8000 rw-p 00016000 fe:01 11427900   /lib/libselinux.so.1
b7fb8000-b7fec000 r-xp 00000000 fe:01 11427925   /lib/libsepol.so.1
b7fec000-b7fed000 rw-p 00034000 fe:01 11427925   /lib/libsepol.so.1
b7ffe000-b8000000 rw-p b7ffe000 00:00 0 
b8000000-b8001000 r-xp b8000000 00:00 0          [vdso]
b8001000-b801b000 r-xp 00000000 fe:01 11428003   /lib/ld-2.7.so
b801b000-b801d000 rw-p 0001a000 fe:01 11428003   /lib/ld-2.7.so
bfd08000-bfd1d000 rw-p bffeb000 00:00 0          [stack]

_ 上記を実行してから、psコマンドで、initを見てみる。

下記をみると、VSZの値が上記のtotalないしは、mappedの値と一致していることが確認できる。他のプロセスでも成り立つか確認してみよう。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2100   568 ?        Ss    2008   0:05 init [2]  

_ tp-smapi-source - Source for the tp_smapi kernel modules

このパッケージは lenny に入っており lenny だと kernel 2.6.26向けのモジュールもそろってます。私はいくつかの理由から、kernel 2.6.27にしているので、このパッケージが必要なはずです。

ThinkPadを使っているなら、バッテリーの利用時間を長くできること、トラックポイントの調整がGUIでできること、HDAPSによる加速度センサで落下時を関知できるようになることを考えると、組み込む価値があるのではないでしょうか。ちなみに加速度センサーは落下を検知するだけで、ハードディスクのヘッドを待避はさせないと注意書きしてあるのは、誤解をする人が多いからなのでしょうね。元ネタは下記です。