情報過多の時代、古いPCを蘇らせて、よりシンプルに使っていくために、Linuxを勉強してます

2010年5月5日水曜日

Thinkpad 240Z Debian Squeeze チューニング その1

無改造の240Zで、メモリが192MBなので、できるだけメモリを節約するための設定をする。

まずは、開始時点でのメモリ使用量
ログイン後、fbtermを起動して、scriptを開始した状態

$ free

total used free shared buffers cached
Mem: 189888 35488 154400 0 2996 19396
-/+ buffers/cache: 13096 176792
Swap: 556024 0 556024

free(1)の -/+ の行は、usedからバッファキャッシュ・ファイルキャッシュを差し引いた量(内容を捨てるわけにはいかないメモリ)
と、freeにバッファキャッシュ・ファイルキャッシュを加えた量(必要があれば使えるメモリ)

プロセス単位の使用量は、
$ ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.8 0.3 2036 724 ? Ss 00:04 0:01 init [2]
root 290 0.0 0.4 2228 832 ? Ss 00:04 0:00 udevd --daemon
root 449 0.0 0.3 2224 708 ? S< 00:04 0:00 udevd --daemon
root 455 0.0 0.3 2224 636 ? S< 00:04 0:00 udevd --daemon
root 691 0.0 0.5 4752 1108 ? Ss 00:04 0:00 /sbin/wpa_supplicant -s -B -P /var/
root 750 0.0 0.1 2100 364 ? Ss 00:05 0:00 dhclient3 -pf /var/run/dhclient.eth
root 882 0.0 0.8 27388 1548 ? Sl 00:05 0:00 /usr/sbin/rsyslogd -c4
root 900 0.0 0.3 1708 632 ? Ss 00:05 0:00 /usr/sbin/acpid
root 921 0.0 0.4 4348 800 ? Ss 00:05 0:00 /usr/sbin/cron
101 931 0.0 0.2 2584 560 ? Ss 00:05 0:00 /usr/bin/dbus-daemon --system
root 969 0.3 0.6 2568 1296 tty1 Ss 00:05 0:00 /bin/login --
root 970 0.0 0.2 1708 536 tty2 Ss+ 00:05 0:00 /sbin/getty 38400 tty2
root 971 0.0 0.2 1708 536 tty3 Ss+ 00:05 0:00 /sbin/getty 38400 tty3
root 972 0.0 0.2 1708 536 tty4 Ss+ 00:05 0:00 /sbin/getty 38400 tty4
root 973 0.0 0.2 1708 536 tty5 Ss+ 00:05 0:00 /sbin/getty 38400 tty5
root 974 0.0 0.2 1708 540 tty6 Ss+ 00:05 0:00 /sbin/getty 38400 tty6
hoge 975 0.0 0.9 5088 1812 tty1 S 00:05 0:00 -bash
hoge 985 0.2 1.0 7400 2004 tty1 R+ 00:06 0:00 fbterm
hoge 986 0.0 0.9 5092 1780 pts/0 Ss 00:06 0:00 /bin/bash
hoge 989 0.0 0.4 3956 788 pts/0 S+ 00:07 0:00 script 20100503_TP240Z_tuning01.txt
hoge 990 0.0 0.2 3960 500 pts/0 S+ 00:07 0:00 script 20100503_TP240Z_tuning01.txt
hoge 991 0.1 0.9 5092 1772 pts/1 Ss 00:07 0:00 bash -i
hoge 995 0.0 0.5 4432 1028 pts/1 R+ 00:07 0:00 ps aux

1. 不要なサービスを止める

runlevel 2 で自動起動されるサービスは/etc/rc2.d/ 以下を見ることで判る。

S01sudo S02cron S03bootlogs S04rmnologin
S01rsyslog S02acpid S02dbus S04rc.local S04stop-bootlogd

サービスの停止、起動は次のコマンドで行う。
# update-rc.d -f ServiceName remove 停止
# update-rc.d ServiceName defaults 自動起動

ここでは、以下のサービスを停止した。

$ sudo update-rc.d -f cron remove

再起動後のメモリ使用量は、

$free

total used free shared buffers cached
Mem: 189888 34864 155024 0 2924 19112
-/+ buffers/cache: 12828 177060
Swap: 556024 0 556024


2.仮想コンソールの数を減らす

仮想コンソールをいくつ動作させるかは、/etc/inittab に記述されている。
ここでは、2つに減らすことで、メモリ使用量を節約する。

# vim /etc/inittab

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
# 2:2345:respawn:/sbin/mingetty tty2 ←コメントアウト
# 3:2345:respawn:/sbin/mingetty tty3 ←コメントアウト
# 4:2345:respawn:/sbin/mingetty tty4 ←コメントアウト
# 5:2345:respawn:/sbin/mingetty tty5 ←コメントアウト
# 6:2345:respawn:/sbin/mingetty tty6 ←コメントアウト

再起動後のメモリ使用量は、

$free

total used free shared buffers cached
Mem: 189888 34440 155448 0 2924 19132
-/+ buffers/cache: 12384 177504
Swap: 556024 0 556024

$ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1.5 0.3 2036 716 ? Ss 00:16 0:01 init [2]
root 290 0.1 0.4 2228 808 ? Ss 00:16 0:00 udevd --daemon
root 449 0.0 0.3 2224 684 ? S< 00:16 0:00 udevd --daemon
root 456 0.0 0.3 2224 612 ? S< 00:16 0:00 udevd --daemon
root 692 0.0 0.5 4752 1116 ? Ss 00:16 0:00 /sbin/wpa_supplicant -s -B -P /var/
root 751 0.0 0.1 2100 360 ? Ss 00:16 0:00 dhclient3 -pf /var/run/dhclient.eth
root 883 0.1 0.7 27200 1484 ? Sl 00:16 0:00 /usr/sbin/rsyslogd -c4
root 901 0.0 0.3 1708 632 ? Ss 00:16 0:00 /usr/sbin/acpid
101 911 0.0 0.2 2584 556 ? Ss 00:16 0:00 /usr/bin/dbus-daemon --system
root 949 0.5 0.6 2568 1296 tty1 Ss 00:16 0:00 /bin/login --
root 950 0.0 0.2 1708 540 tty2 Ss+ 00:16 0:00 /sbin/getty 38400 tty2
hoge 951 0.0 0.9 5092 1792 tty1 S 00:16 0:00 -bash
hoge 954 0.2 1.0 7400 2004 tty1 R+ 00:17 0:00 fbterm
hoge 955 0.0 0.9 5092 1780 pts/0 Ss 00:17 0:00 /bin/bash
hoge 959 0.0 0.4 3956 788 pts/0 S+ 00:17 0:00 script 20100503_TP240Z_tuning03.txt
hoge 960 0.0 0.2 3960 500 pts/0 S+ 00:17 0:00 script 20100503_TP240Z_tuning03.txt
hoge 961 0.1 0.9 5092 1772 pts/1 Ss 00:17 0:00 bash -i
hoge 965 0.0 0.5 4432 1028 pts/1 R+ 00:17 0:00 ps aux


3.hdparmによるハードディスクのチューン

$ sudo hdparm -Tt /dev/hda
-Tは、キャッシュシステム、つまりメモリ、CPU、バッファキャッシュをテスト
-tは、キャッシュ上に無いデータを読み出して、ハードディスクのパフォーマンスをテスト

/dev/hda:
Timing cached reads: 262 MB in 2.02 seconds = 129.94 MB/sec
Timing buffered disk reads: 76 MB in 3.06 seconds = 24.80 MB/sec

HDの設定を確認
$ sudo hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 0 (default)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 31277232, start = 0

HDの情報を確認
$ sudo hdparm -i /dev/hda

Model=SAMSUNG MMBRE16GSMPP-MVA, FwRev=VAM1101Q, SerialNo=SE939A4406
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=31277232
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1: ATA/ATAPI-2,3,4,5,6,7

* signifies the current active mode

オプションを付ける
$ sudo hdparm -u1 -c3 -d1 /dev/hda

$ sudo hdparm -Tt /dev/hda

/dev/hda:
Timing cached reads: 234 MB in 2.01 seconds = 116.64 MB/sec
Timing buffered disk reads: 76 MB in 3.06 seconds = 24.87 MB/sec

$ sudo hdparm -i /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 31277232, start = 0

M/Bあるいは変換アダプタの問題か、UDMA2が上限で、あまり変わりばえはしない。

$ sudo vim /etc/rc.localで
/sbin/hdparm -u1 -c3 -d1 /dev/hda
を一応追加しておく。

0 件のコメント:

コメントを投稿

category

reader