Home

技術系のメモと日々の雑感

/proc/acpi/battery/BAT0 にある情報のまとめ

バッテリー/proc/acpi/battery/BAT0 の下にあるバッテリー情報を眺めていると、それぞれの値が何を表しているのか知りたくなった。
別に知らなくても何の不都合もないんだけどね。
まぁ、何かの役に立つかもしれない。
家にある ThinkPad X61 の省電力マネージャーにはバッテリーの詳細情報が日本語で出ているので、そっちと見比べてみよう。
実はこれだけで全部分かると思っていた。
が、甘かった。
省電力マネージャーには出てない項目があったり、意味がよく分からないものがちらほら。
ということで、かなりざっくりまとめてある。
興味本位のメモなので自分はいいんだけど、こっち方面には疎いから鵜呑みは危険だ。
間違っているところがあったら教えてほしい。

$ cat /proc/acpi/battery/BAT0/info
present:                 yes           接続されているか
design capacity:         37440 mWh     定格電力容量
last full capacity:      29030 mWh     (現在の)満充電時の電力容量
battery technology:      rechargeable  バッテリーの規格
design voltage:          14400 mV      定格電圧
design capacity warning: 1451 mWh      容量警告のしきい値?
design capacity low:     200 mWh       定格電力容量の最低値?
capacity granularity 1:  1 mWh         容量の粒度?(カウントの最小単位?)
capacity granularity 2:  1 mWh         容量の粒度?(カウントの最小単位?)
model number:            42T4505       型番
serial number:           XXXX          シリアル番号
battery type:            LION          セルのタイプ
OEM info:                SANYO         OEM情報

$ cat /proc/acpi/battery/BAT0/state
present:                 yes           接続されているか
capacity state:          ok            容量の状態(良好)
charging state:          discharging   充電の状態(放電中)
present rate:            13659 mW      現在の消費電力
remaining capacity:      13860 mWh     残電力容量
present voltage:         14831 mV      現在の電圧

内容とは関係ないけど、不思議だったのはシリアル番号。
4桁しかない。
バッテリーの表面に書かれている番号とは全然別物だし。
何でだろ。

CentOS と 3ware 8006-2LP

3ware 8006-2LP でミラーを組んで CentOS 5.4 を入れる機会があったので、気づいたことなどをメモ。
ドライバは勝手に入るので特に引っかかるところはなかった。
RAID0 にしろ RAID1 にしろ、インストーラでディスクが1本に見えているのが確認できたら大丈夫だろう。
他のサイトにも書かれている通り、付属の CD に入っている 3dmd は動かなかったので、メーカのサイトから最新版をダウンロードして入れた。
ちなみに Java 版でないとうまく入らなかった。

cd /tmp
wget http://www.lsi.com/DistributionSystem/AssetDocument/3DM2_CLI-Linux-9.5.3.zip
unzip 3DM2_CLI-Linux-9.5.3.zip
tar zxvf 3DM2_CLI-Linux-x86-9.5.3.tgz
chmod 700 setupLinux_x86.bin
./setupLinux_x86.bin -console

ところで、ここまで終われば ps で /usr/sbin/3dm2 が起動していることが分かる。
リブートしてもちゃんと立ち上がってくるんで、どこから呼ばれているのかと思ったら /etc/rc.d/init.d/tdm2 だった。
888 ポートで 3dm2 のページにも無事にアクセスできたので、ここらで dmesg を眺めてみよう。
関係があるメッセージは

3ware Storage Controller device driver for Linux v1.26.03.000-2.6.18RH.
3w-xxxx: AEN: ERROR: Unit degraded: Unit #0.
scsi0 : 3ware Storage Controller
3w-xxxx: scsi0: Found a 3ware Storage Controller at 0xe400, IRQ: 193.
  Vendor: 3ware     Model: Logical Disk 0    Rev: 1.2
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 976769007 512-byte hdwr sectors (500106 MB)
sda: Write Protect is off
sda: Mode Sense: 00 00 00 00
SCSI device sda: drive cache: write back, no read (daft) w/ FUA
sda: sda1 sda2 sda3
sd 0:0:0:0: Attached scsi disk sda
3w-xxxx: scsi0: Command failed: status = 0xc4, flags = 0x31, unit #0.
3w-xxxx: scsi0: AEN: INFO: Rebuild started: Unit #0.

といったところかな。
片方のディスクを外してリビルドのテストをしていたので degraded って出てる。
Command failed って出てるのもそのせいなのかな。
そのままひと晩放置して翌日見たら

3w-xxxx: scsi0: AEN: ERROR: Drive error: Port #1.
3w-xxxx: scsi0: AEN: ERROR: Rebuild failed: Unit #0.

見事にリビルドが失敗してた。
後で分かったことだけど、RAID を構成して起動した直後は Initialize がかなり長い時間走っていたから、どうやらこの処理中に片方の HDD を外してしまったらしい。
念のため Initialize が完了するのをちゃんと確認してからやり直してみたら

3w-xxxx: scsi0: AEN: INFO: Rebuild started: Unit #0.
3w-xxxx: scsi0: AEN: INFO: Rebuild complete: Unit #0.
3w-xxxx: scsi0: AEN: WARNING: SMART threshold exceeded: Port #0.

無事リビルド完了。
I/O の速度が出ないことを除けば問題なさそう。

Intel X25-V に CentOS を入れてみる

Intel X25-V知り合いが Intel X25-V を買ったというので興味本位で見せてもらった。
Windows の起動ドライブに使うそうだけど、その前に、せっかくなので Linux を入れてみたいと頼んだら構わないとのこと。
有難い!
知り合いの気が変わらないうちに CentOS 5.4 を入れてみた。
動きを見るだけなので、今回はパッケージグループすべてチェックを外してインストール開始。
Core 2 マシンで 3 分 30 秒程度で完了した。
この SSD は書き込みのスペックを落としているものらしいけど、それでも速いね。
起動してから dmesg を見ると

ata1.00: ATA-7: INTEL SSDSA2M040G2GC, 2CV102HD, max UDMA/133
ata1.00: 78165360 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
  Vendor: ATA       Model: INTEL SSDSA2M040  Rev: 2CV1
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 78165360 512-byte hdwr sectors (40021 MB)

特に変わったところはないな。
S.M.A.R.T に対応しているのでそっちも確認しとこう。(以下抜粋)

Device Model:     INTEL SSDSA2M040G2GC
Serial Number:    ******************
Firmware Version: 2CV102HD
User Capacity:    40,020,664,320 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Fri Aug 13 23:01:55 2010 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0020   100   100   000    Old_age   Offline      -       0
  4 Start_Stop_Count        0x0030   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       11
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       13
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1
225 Load_Cycle_Count        0x0030   200   200   000    Old_age   Offline      -       51
226 Load-in_Time            0x0032   100   100   000    Old_age   Always       -       16350
227 Torq-amp_Count          0x0032   100   100   000    Old_age   Always       -       0
228 Power-off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1009829193
232 Unknown_Attribute       0x0033   100   100   010    Pre-fail  Always       -       0
233 Unknown_Attribute       0x0032   099   099   000    Old_age   Always       -       0
184 Unknown_Attribute       0x0033   100   100   099    Pre-fail  Always       -       0

温度は見れないんだね。
気にする必要がないってことなのかな。
あと、hdparm の出力も取っておいたので書いておく。

# hdparm -i /dev/sda
Model=INTEL SSDSA2M040G2GC          , FwRev=2CV102HD, SerialNo=******************
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio3 pio4
DMA modes:  mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

おまけで軽くベンチマーク。

# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads:   17040 MB in  2.00 seconds = 8537.19 MB/sec
Timing buffered disk reads:  564 MB in  3.01 seconds = 187.49 MB/sec

びっくりするような値じゃないけど、実際はランダムアクセスが速いので体感速度はかなりのものだった。
改めて知り合いに感謝。
長期テストよろしく。

badblocks をかけてみる

以前、smartd がアラートを送ってきたマシンで、また読めないセクタが見つかってアラートが飛んできた。
恐ろしく古いマシンだから、壊れてもぜんぜん不思議はないんだけどね。
むしろ、こういったハード関係のエラーをあれこれ見るために置いてるとも言えるかも。
いい機会だし badblocks をかけてみよう。
HDD はたったの 10GB なので、すぐに終わるかと思いきや 30 分以上かかった。

# badblocks -sv /dev/hda
Checking blocks 0 to 11786040
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.

おぉ、意外としぶとい。
エラー表示を見てみたかったので、ちょっとだけ期待してたんだけど。
ひとまず静観。

玄人志向 SATAD-IDE がやってきた

SATAD-IDEこの前ベンチマークを取った TFTEC IDE-SATAZD と同じ機能の製品で一般的に知られてるのは、玄人志向の SATAD-IDE なのかな。
実はこれも今、手元にあったりする。
と言っても、残念ながら自分のじゃない。
もうすぐ返さないといけない。
なので、サヨナラする前に、せっかくだから前と同じ環境で速度を計ってみるとしよう。
と、意気込んではみたものの、CentOS5.4 の起動時間は 34 秒で、ほとんど変わらず。
ベンチマークも

# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 226 MB in 3.01 seconds = 74.99 MB/sec

う〜ん。
ネタ的には面白くない結果だなぁ。
ひとつだけ情報を付け足しておくと、家にある Celeron 466MHz を積んだオンボロマシンでも SATAD-IDE は問題なく使えた。
前に書いた IDE-SATAZD では認識できなかったから、SATAD-IDE の方が(ちょっとだけ?)互換性が高いみたい。
まぁ、こんな古い環境を使ってる人はほとんどいないだろうから、気にしなくてもいい話だけどね。