個人保存ファイル pupsave.2fs について

以上のフォーラム以外の開発者の話題

モデレータ: YoN, nyu

返信する
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

個人保存ファイル pupsave.2fs について

投稿記事 by みのむし »

 個人保存ファイル pupsave.2fs については常々疑問に思う事が有ります。
私の考えでは、個人保存ファイルは変更部分のデータを格納しただけのもので、
これは、現状でも同じです、

 疑問に思っているのは、例えばUSBメモリへのFrugalインストール(PuppyのUSBメモリ搭載時の推奨形)時では

・個人保存ファイルのサイズが、使用するメモリの上限値になっている事です。
 これが私にはまったく理解出来ません。
 何故、このようになっているのでしょうか :?

例えば、メモリが主メモリ 512MB + スワップ 512MB で1MB有るPCでも
メモリの上限値は個人保存ファイルのサイズに制限されます。
この制限を外して欲しい(このぶぶんのソースがあれば私でも何とかなるかも ...)。
まったく不合理です :?
ぜひ、改善して欲しい。
Puppyを正常に機能させるには最低でもメモリは512MBは欲しい所です。
(個人保存ファイルサイズの推奨値は 512MB です)
小さいサイズのUSBメモリにPuppyを搭載したいからです。
quirky-0.0.6は本体サイズ93MB、非常に小さいです(USBメモリへの搭載、第一候補)。
しかも、日本語されたものがあります。
USBメモリ 64MBにPuppyを搭載(インストール)したいのですが、現状の個人保存ファイルの取扱いではそれがかないません。
最後に編集したユーザー みのむし [ 10/01/31(日) 08:37 ], 累計 1 回
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by シノバー »

こういうことですね
  1. USBフラッシュメモリにパピーをFrugalインストールし、そこに小さいサイズ、例えば64MBの個人保存ファイルpupsave.2fsを作成して運用したい。
  2. このUSBフラッシュを十分な実装RAMとスワップを用意したPCで運用したとする。たとえば実装RAM512MB、スワップ512MB。
  3. この場合にPCの実装RAMやスワップには余裕がありそうなのに、すぐにパピースペースが足りないとの警告が出たり、プログラムが停止するなどの不都合がある。
あるいは
  1. 個人保存ファイルは変更部分のデータを格納しただけのものなので、それは64MB程度でも不都合はないはずである。
  2. Puppy実行中に必要なメモリ?あるいはパピースペース?は512MB以上必要だと思う。
  3. この2つ(個人保存ファイルと実行中に必要なメモリ?)それぞれのサイズの必要量は異なるはずなのに、パピーのFrugalインストールのシステムではそれらサイズは結合しているようだ。
この話、けっこうややこしいです…… :(

USBフラッシュにパピーをFrugalインストール、64MBのpupsaveを作ったとします。また、PCの実装RAMは512MB、それにHDD上に512MBのスワップがあるとします。

pmedia=*flash で起動すると pupmode=13 となります。この場合、64MBの pupsave は /initd/pup_ro1 にマウントされますが、これとは別に実装RAMの約半分、この場合 256MBの ramdiskが用意され、/initd/pup_rw にマウントされます。

ここでたとえば gimp-2.4.6.pet をインストールしてみます。
gimp-2.4.6.pet の大きさは 19MB ですが、展開後これは 52MB を占めます。どこがこれに消費されるかというと、まず pup_rw 256MBのうち 52MBを使います。

ここで saveボタンを押すと pup_rw と pup_ro1(すなわち pupsave)との間で同期が取られます。ここで pup_ro1(=pupsave) 64MB中 52MBが消費されます。

さらに google_chrome-puppy-4.31.pet をインストールします。展開後 41MB占めるので、さきのと合わせ pup_rw 256MBのうち 93MB使いました。

ここで saveボタンを押すと、 pup_rw に追加された 41MBを pup_ro1(=pupsave) に突っ込もうとしますが失敗します。pup_ro1(=pupsave)は64MBしかありませんからね。

この例の場合、256MB用意された pup_rw(=ramdisk)ではなく、64MBしかない pup_ro1(=pupsave)がネックとなっています

つづく……
最後に編集したユーザー シノバー [ 10/01/30(土) 17:41 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

ケースその2

投稿記事 by シノバー »

別のケースを考えます。

さきと同じUSBフラッシュにパピーをFrugalインストール、64MBのpupsaveを作ったとします。また、PCの実装RAMは512MB、それにHDD上に512MBのスワップがあるとします。追加アプリはまだ何も入れていないところから出発します。

ここで openoffice-3.1.1JP_wJRE1.6.0_17-sfs4.sfs (196MB)を /tmpにダウンロードしてみることを考えます。
さきと同じくpup_rw(=ramdisk) 256MBのうち 196MBを使います。

さらに devx_431JPbeta2.sfs (121MB)も /tmpにダウンロードしてみます。
2つの合計は 317MBになり、256MBしかないpup_rw(=ramdisk)がパンクします(ダウンロードエラー)。

そこで devxをあきらめ、openofficeのみ /mnt/home にコピー(コピーなので、/tmp にも同じものが残る)し、パピーを再起動します。このとき、pup_rw(=ramdisk) と pup_ro1(=pupsave)との同期が取られるのですが、/tmp以下は pup_ro1(=pupsave)には保存されないので、たとえ pupsave が 64MBしかなくても無事です。

この場合(openofficeとdevxを /tmpにダウンロードしようとしたとき、pupsaveは無事だが、256MBしかないpup_rw(=ramdisk)がパンクしました

さて、openofficeだけは使えるようになりました。SFSなので、pupsaveが 64MBしかなくてもそれを消費しないからです。
ここで pup_rw(=ramdisk) はどうなっているでしょうか?なんと、 pup_rw(=ramdisk) は 256MBすっかりではありませんが、ほぼ空いています。じつは再起動すると pup_rw(=ramdisk) の内容中 /tmp 以下など一部を除いて pupsaveに移されたあと、 pup_rw(=ramdisk) はクリアされるのです。ramdiskだからあたりまえといえばそうです。

なので、さきほど諦めた devxのダウンロードは、再起動後にはできるようになります。
最後に編集したユーザー シノバー [ 10/01/30(土) 18:19 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

ひとつの結論

投稿記事 by シノバー »

Frugalインストールについてはいろいろなことが言えますが、以上2つのケースについて、いったんまとめます。

その前に、ケースその2ではダウンロード先を /tmpとしましたが、これは ramdiskを消費するが pupsaveを消費しない場所の例としてここを選んだものです。

/root以下など、原則 /以下に加えられたファイルや変更は、最初 ramdiskに、のちに pupsaveに保存されるのですが、一部に例外があります。たとえば
  • /tmp以下は ramdiskを消費するが、 pupsaveには保存されない。
  • /mnt以下は ramdiskも pupsaveも消費しない

したがって大きなファイルをダウンロードするさいは /mnt/homeに直接ダウンロードするのが正解です。

さて、ramdiskと pupsaveについて2つのケースを考えてみました。上記例外をのぞき追加変更されたファイルは最後は pupsaveに保存され、それはその大きさ、この場合 64MBを超えてはなりません。
いっぽう /mnt以下を除いては一時的な作業ファイルも ramdiskを消費するので、これがネックになることがあります。しかし、 ramdisk(=pup_rw)の大きさは(pmedia=*flashでブート、すなわちpupmode=13の場合)実装RAMの半分で、pupsaveの大きさとは関係がありません。またスワップの大きさとも関係がありません。
最後に編集したユーザー シノバー [ 10/01/30(土) 18:21 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

ケースその3

投稿記事 by シノバー »

まとめたあとで、それを覆すようなことを言います :mrgreen:

「ケースその2」では 196MBある openofficeを /tmp にダウンロードしました。
/tmp ではなく /root にダウンロードしてみましょう。

/tmp にダウンロードしたときと同じように /root でも 226MBの ramdiskから 196MBが消費されます。これを /home にコピーし、再起動すると /root 以下は pupsaveに保存しようとし、失敗します。 pupsaveは(この例では) 64MBしかありませんから。

そこで /root にダウンロードしたファイルを /home に「コピー」ではなく「移動」します(コピーの後 /root にあるものを削除しても同じ)。
こうすると(/root にあったファイルが削除されたあと)ramdiskの空きは 256MBより少し少ない程度に回復し、 pupsaveがパンクすることもありません。めでたしめでたし。

ところがここに落とし穴があります。/root に 198MBのファイルをダウンロードしてから それを削除するまでの間に デスクトップの save ボタンを押すとエラーとなります。このとき /root にある 198MBのファイルを 64MBしかない pupsaveに保存しようとしますから当然ですね。
しかし、このエラーはデスクトップの save ボタンを押さなくても起こる可能性があります。それは、標準で30分おきに自動保存が掛かるからです。大きな一時ファイルが存在しているとき、たまたまこの自動保存のタイミングが重なるとそれが起きます。

みのむしさんがそういうことを経験したのではないかと想像します。大きな実装RAMに小さな pupsaveの組み合わせで、そういうことは起こりそうです。

しかし安心してください。自動保存に失敗したとの警告が出て、じっさいそのときは pupsaveには保存されていないわけだけども、一時ファイルを削除するか、 /mnt 以下に移動してやると、次の機会あるいは再起動のときに(残るファイルは) pupsaveに保存されるので実害はありません。

ただこの警告は常に出るのではなく 30分おきなので、64MB(pupsaveのサイズ)超えで大きなファイルを/root以下などに保持したままシャットダウンすると、はみ出したファイルだけが保存されないのではなくて、そのセッションの変更分すべてが保存されないということが起こります。警戒すべきはこのことです。

対処の方法としては、重要な変更を加えたら、シャットダウンの前にデスクトップの saveアイコンをクリックすることですかねえ。失敗すればちゃんとエラーメッセージが出ますから。

もっと賢い方法は、大きなファイルと大事なデータは /mnt 以下に保存することです。pupsaveが壊れたときにも救われます(じっさい pupsaveはよく壊れます)。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

RAMはどのように使われているか

投稿記事 by シノバー »

USBフラッシュにパピーをFrugalインストール、64MBのpupsaveを作ったとします。また、PCの実装RAMは512MB、それにHDD上に512MBのスワップがあるとします。

free コマンドでは Mem 512MB Swap 512MB Total 1GBのうち、どれだけ使っているか、空きがいくらとか出てきますが、内訳はよく分からないです。
そこで df -m コマンドを実行します。

実装メモリとスワップ を加えた Total 1G のうち、 この例である pupmode=13では、まず256MB(実装RAMの半分)のramdisk(=pup_rw)が作られます。あと メインSFSが pup_ro2、パピー431JPの場合で 92MB。それに ドライバモジュール(zpxxx.sfs)が pup_zのある場合があります、パピー431JPの場合 23MBで、メインSFSとの合計は 115MBです。この2つのシステムファイルは高速化のためにRAM上にコピーされています。ramdiskを含め3つでこの場合 371MB。残る 653MBがアプリやバッファに使われます。

スワップを除くと 141MBしかありませんが、
追記:256MBのramdiskが作られたからといって、そのままのサイズのRAMが使われるわけではないようです。じっさいには141MBよりも広いRAM領域がアプリやバッファに使われるらしい。

パピーのアプリはたいてい小さいので、この例だとスワップはさほど頻繁ではないと思います。アプリをたくさん立ち上げるとそのいずれかがスワップに追い出されるか、システムファイルであるメインSFSなどもスワップに追いやられる候補にはなるのかな?(あまり自信なし)
スワップの利用状況は free コマンドで、各アプリのメモリ使用量は top コマンドで分かります。いちばんメモリを使うのはたぶんXでしょう。

64MBある pupsave(この場合 pup_ro1)はどちらかというと、バッファになるのかな?しかし pupsaveの大きさとバッファサイズとは直接的な関係はなく、実装RAMの大きさとpupsaveの大きさとの間にも基本的には関係がありません。ただ 実装RAMが小さいときに pupsaveがないと不安定だが pupsaveを作ると安定動作するということがあります。このあたり、私はよく分かってません。
最後に編集したユーザー シノバー [ 10/01/30(土) 21:46 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

R.A.M.スペース?

投稿記事 by シノバー »

パピー起動時のwelcomeメッセージには「R.A.M. スペース」と称して、次のような説明があります。
画面下のタスクバー右に R.A.M にどの位作業用空き容量が残されているかが表示されます。
しかしこの表示は「RAMの空き容量」とは言えないようです。

さきの例でRAMモードで起動すると、この表示は 249MB程度。しかし free コマンドで表示されるMem のFree サイズとは異なるようです。

次に 64MBの pupsave を作って起動すると、この表示は 54MB。一気に少なくなります。

前者(249MB)と、後者(54MB)の表示は意味が異なります。おおまかには前者は 実装RAMのサイズの半分からパピーが消費(あいまいですが)した量を引いた余り、後者は pupsaveのサイズからそれを引いたあまりです。

さきのwelcomeメッセージの続きには次のような文言もあります。
……より多くの空き容量を確保する「個人保存ファイル」を作成する……
実装RAMより大きな、例えば実装RAM512MBに対し256MB以上のpupsaveを作ったならば、たしかにさきの表示は増えます。しかし小さな、たとえば何度も出している例のように実装RAM512MBに対し64MBのpupsaveを作ったならば、「R.A.M. スペース」?の表示は小さくなります。

しかしそれでもパピーは動きます。512MBの実装RAM、512MBのスワップもちゃんと利用されています。ただ小さな、たとえば 64MBの pupsaveで運用するにはいくらかの注意が必要です。

みのむしさんの疑問のひとつは、この「R.A.M. スペース」?の表示の問題がひとつ、
もうひとつは、小さな、たとえば 64MBの pupsaveで運用するとどういう問題が出るか、またそれをどう回避できるか?ということではないでしょうか。
最後に編集したユーザー シノバー [ 10/01/30(土) 21:31 ], 累計 2 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by みのむし »

シノバーさん、色々とお骨折りして頂き誠に有難く思います :D
返信が多数有ったので驚きました。
書き込み、検証などにさぞ時間が掛かった事でしょう。
さて、個人保存ファイルについての見解の相違が見られました。
私の見解は以下の通りです。

USBメモリへのFrugalインストール時の個人保存ファイルの働きについての私の見解:
 USBメモリへのFrugalインストール時の個人保存ファイルのサイズは使用可能メモリの上限値となっている。

 例)
 PCの主メモリ 512MB+スワップ 512MB=1GB
 個人保存ファイルのサイズ 64MB

の場合、Frugalインストール時の使用可能メモリには1GBはまったく関係ありません。
何故なら、個人保存ファイルのサイズで制限されるからです。
この場合、使用可能メモリの上限値は64MBです。

要望:
 私は個人保存ファイルのサイズが64MBでも、使用可能メモリの上限値は1GBで有って欲しいのです。

※私の、見解および要望はご理解して頂けますでしょうか?
 それで、PuppyのOSのソースに手を加えて実現したいのです。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by シノバー »

みのむし さんが書きました:USBメモリへのFrugalインストール時の個人保存ファイルの働きについての私の見解:
 USBメモリへのFrugalインストール時の個人保存ファイルのサイズは使用可能メモリの上限値となっている。
投稿のタイミングで、私の「R.A.M.スペース?」の投稿はお読みになっておられないと思います。みのむしさんの言う「使用可能メモリ」が画面下のタスクバー右に表示される「R.A.M.スペース?」のことであればそのとおりです。
しかしこの表示と関係なく実装RAMやスワップは利用されている……「使用可能」であるということです。
The bar master, Shino's Bar
http://shinobar.net/
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by みのむし »

>しかしこの表示と関係なく実装RAMやスワップは利用されている……「使用可能」であるということです。

シノバーさん、これは私にとって大変貴重な情報です。
私の問題もこれで解決しました。
以前、タスクバー右に表示される「R.A.M.スペース?」がゼロになった際、
システムから赤色の表示が有って使用不可になった経験が有ったもので、
それ以来、てっきりこれがメモリの残りサイズだとばかり思っていました。
試しに、USBメモリ 256MBにQuirk-0.06日本語版(本体サイズ93MB+α)を
Frugalインストール(個人保存ファイルのサイズ 64MB)してテストしてみようと思います。
テスト結果は後日報告します。
今まで長々とお付き合いして頂きありがとうございました :D

質問1:
 所で話は変わりますが、Grub4Dosは従来のGRUBのような起動時のメニューは出ないのでしょうか :?:

質問2:
 Quirk-0.06日本語版をダウンロードしようとしたら、どこに有るのか忘れてしまいました。
そこで、ここの検索で探したんですが見つかりません(検索は正常機能している :?: )。 :(
暇人さんの日本語化PETパッケージはみつけましたが、ISOファイルが見つかりません。
暇人さん以外の方...、もしかするとシノバーさんでしょうか?
以前、何処かで見たような...何方がご存知の方がおられましたら、ぜひお教えください。
最後に編集したユーザー みのむし [ 10/01/31(日) 08:39 ], 累計 3 回
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by シノバー »

みのむし さんが書きました:私の問題もこれで解決しました。
試しに、USBメモリ 64MBにQuirk-0.06をFrugalインストールしてテストしてみようと思います。
一段落してよかったです。
ところが……安心するのはまだ早いんですねえ。
みのむし さんが書きました:個人保存ファイルは変更部分のデータを格納しただけのもの
なんですが、それが 64MBに収まるのかどうかということです。

アプリはPETでインストールせずSFSを使う。
ダウンロードあるいは作成した文書や画像、映像などのデータは/mnt/home以下に置く。
メールも同様に /mnt/home以下に……
などに注意して諸設定のみが pupsaveに入るようにしようとしても、伏兵がいます。

そのひとつが各アプリが用意するキャッシュです。それらは /root以下に隠しファイルで作られることが多いのですが、これらもpupsaveに入ってしまいます。
seamonkeyのキャッシュは標準設定で 4MBで、これは(変更しなければ) /root/.mozilla以下に置かれます。同様のことを各アプリが行うので、それらを合計するとけっこうな量になるかもしれません。

Google-Chromeの設定とキャッシュは 200MBにものぼるようです。
secondlife(極端な例ですが)は設定変更しなければ /root/.secondlife 以下に 500MBのキャッシュを置きます。
Openofficeも要注意。
そのほか Rox-Filerが作る画像サムネイルや gftp のキャッシュ……他にもいろいろあるかも。
最後に編集したユーザー シノバー [ 10/01/31(日) 00:06 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub4Dosの起動時メニュー

投稿記事 by シノバー »

みのむし さんが書きました:Grub4Dosは従来のGRUBのような起動時のメニューは出ないのでしょうか :?:
標準はテキストベースのメニュー(色が付けられて矢印キーで操作)、オプションで背景画像が付けられる。メニューなしの起動も可など、Grub4Dosもほとんど従来のGRUBと同じですよ。
The bar master, Shino's Bar
http://shinobar.net/
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by みのむし »

>なんですが、それが 64MBに収まるのかどうかということです。

シノバーさん、返信ありがとうございます。
以下の通りまとめて返信します。

それは大丈夫です。
256MBのUSBメモリを使う予定ですが、
個人保存ファイルのサイズ(512MBにして、1GBのUSBメモリを使ってもいいんです)で調節します。

メニューなしの起動も可など、Grub4Dosもほとんど従来のGRUBと同じですよ。

メニューはデフォルトで出るんでしょうか :?:
最近、メニューが表示されないという、以下の書き込みを見たもので...

パピーWiki
疑問・質問等|ユニバーサルインストールの仕方を教えてください。
※多分、Grub4Dosとは関係ないかも知れません。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by 暇人 »

menu.lst を作らないとメニューは出ませんな。
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 個人保存ファイル pupsave.2fs について

投稿記事 by みのむし »

>menu.lst を作らないとメニューは出ませんな。

暇人さん、わざわざお調べして頂きありがとうございます。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
返信する