最初は、サムさんが公開されているMemoryMonitorAppletを利用させていただいてましたが、なぜかSWAP領域が最大16MBしか確保できず、それもすぐいっぱいになるので、ちゃんとSDカードにSWAP用パーテーションを切ってみました。
1.事前準備
SLC-1000付属CDにあるqpe-terminal-jaをインストール。SDカードの内容は消えますので、あらかじめバックアップしておきます。
2.SDカードのパーテーション作成
(1) まずfdiskを起動します。bash-2.05$ su
# fdisk /dev/mmcda
後は以下のコマンドを使いながらパーテーション№の1にシステムID 1(Win95 FAT32)、2にシステムID 82(Linux swap)のプライマリパーテーションを作成します。
m ヘルプの表示
p パーテーションテーブルの表示
d 既存パーテーションの削除
n 新規パーテーションの作成
t パーテーションのシステムIDの変更(標準が83なのでbや82に変更)
w 作成(修正)したパーテーションテーブルを書き込む
作成結果はこんな感じになります(512MBのSDカードです)
Device Boot Start End Blocks Id System /dev/mmcda1 1 2425 436480 b Win95 FAT32 /dev/mmcda2 2426 2785 64748 82 Linux swap
ちなみにザウルスの初期設定ではSDカードのパーテーションは1(/dev/mmcda1)と2(/dev/mmcda2)が認識されます。「SDカード」として認識されるのは1です。
3.SWAP領域のフォーマット
# mkswap /dev/mmcda2これでパーテーション2がSWAP領域として利用できるようになります。
3.SWAPをONにする
# swapon /dev/mmcda2前述のMemoryMonitorAppletでもSWAPが動作していることがわかります。
ターミナルから確認するときはこんな感じで確認できます。
# more /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 63590400 49459200 14131200 0 69632 21344256
Swap: 66297856 897024 65400832
MemTotal: 62100 kB
MemFree: 13800 kB
MemShared: 0 kB
Buffers: 68 kB
Cached: 19968 kB
SwapCached: 876 kB
Active: 5908 kB
Inactive: 15004 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 62100 kB
LowFree: 13800 kB
SwapTotal: 64744 kB
SwapFree: 63868 kB
3.起動時にSWAPを自動的にONにする
サムさんが紹介されているキジモナカズバさんの設定と同様にすれば設定できます。ただ、/etc/rc.d/init.d/swapの内容が
# swapon /dev/mmcda2になるだけです。
シェルスクリプトは、
# echo 'swapon /dev/mmcda2' > /etc/rc.d/init.d/swapってやればviを起動しなくても簡単に作れます。←vi苦手な人(笑)
さて、メモリ不足は解消したかな♪


管理人様
返信削除??Bありがとうございます。
高速起動をきっていてもやっぱり重いアプリを複数起動するとどうしてもSWAPが必要になりますよね。
私はvFatのままSDに32MBまでは作成できたんですけど、どうしてなんでしょうね?
サムさん>
返信削除いらっしゃいませ。MemoryMonitorApplet、便利に使わせていただいてますm(__)m
私が試したときは32MBや64MBを指定しても結果は16MBでした。なぜなんでしょう?^^;
ちなみに、SWAPは32MBあれば十分そうですね。最大でも16MBあたりをウロウロしてます。
初めまして。SLC-1000をお持ちなのですね。SLC-1000で、マクドナルドなどで使える。BBモバイルには接続できるか?ご存知でしょうか?良かったら、教えて下さい。
返信削除