Win10でメインメモリ8GBでXD/Emacs/Firefox/Cygwinで作業するとどうしてもswapを消費する。
作業量にもよるだろうが、短時間であれば少量だが、半日も作業してれば結構な量になりそう。
そしてHDDは生暖かくなる。Linuxではswap消費量は0だし全く暖かくならない。回避策を探った。
HDD SSD クラッシュ 復旧しやすさ、でググった:
SSDのデータ復旧はHDDより難しい!? SSD搭載PCのトラブルはバッファローにご相談を。
https://www.buffalo.jp/contents/service/recovery/contents/detail16.html
【2023年最新】SSDのデータ復旧率が1番高いおすすめの方法は?
https://cybersecurity-jp.com/column/44046
SSDのデータ復旧は、他のHDDやSDカードなどと比較してデータ復旧作業の難易度が高いです。
自力で対処しても復旧できる可能性は低く、対処を誤ると最悪の場合にデータが復旧できなくなる可能性があります。
SSDが故障する原因とデータを復旧する方法
https://www.4900.co.jp/smarticle/13108/
電源の瞬断はHDDでも被害が出る場合もありますが、SSDのように平準化して記録しているわけではないため、大きな被害は出にくくなっています。
SSDで領域分割しても寿命に影響ないの?
https://xtech.nikkei.com/it/pc/article/knowhow/20100210/1022826/
SSDの場合、複数のパーティションに分割して運用し、うち一部のパーティションのみに読み書きが集中しても、内部のフラッシュメモリーの一部だけが劣化することはない。OSとフラッシュメモリーの間にあり、フラッシュメモリーへの読み書きを制御するフラッシュコントローラーが、書き込みを平準化するよう自動的に処理しているためだ。
故障したHDD/SSDからデータを取り出したい!自力で復旧できるか判断する方法
https://togeonet.co.jp/post-14913
データ復旧業者が直面するSSDのデータ救出の難しさ。近年のスマホはまず不可能、悪徳業者に注意を
https://pc.watch.impress.co.jp/docs/news/1192004.html
swapファイルをコピーしてリンク張ろうかと思ったがコピーできなかった。
Win10$ cp -a /cygdrive/c/swapfile.sys /cygdrive/d/
cp: cannot open ‘/cygdrive/c/swapfile.sys’ for reading: Device or resource busy
Win10$ cp -a /cygdrive/c/pagefile.sys /cygdrive/d/
cp: cannot open ‘/cygdrive/c/pagefile.sys’ for reading: Device or resource busy
Win10$ cp -a /cygdrive/c/hiberfil.sys /cygdrive/d/
cp: cannot open ‘/cygdrive/c/hiberfil.sys’ for reading: Device or resource busy
WinのswapドライブをSDカードにできないか?
windows swap領域 設定、でググった:
Windows 10 – 仮想メモリの設定・サイズ変更(カスタマイズ)
https://pc-karuma.net/windows-10-page-file-settings/
Cドライブの容量不足で pagefile.sys (仮想メモリ)をDドライブに移す
(がしかし、SDカードはswapファイル置き場にはできないらしい。出てこない。そこでイロイロ探して、
readyboostをやってみた。様子見)
windows readyboost とは、でググった:
Windows ReadyBoost – Wikipedia
https://ja.wikipedia.org/wiki/Windows_ReadyBoost
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 5550928 2714928 0 0 2714928
Swap: 1310720 25792 1284928
(少なくはなった?がやっぱswapが発生して、時々hddアクセスランプがつくし生暖かい)
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 5504672 2761184 0 0 2761184
Swap: 1310720 43708 1267012
(16GB_SDのReadyBoostを外したらswap増えた)
win10 swap file sdcardに移動する方法、でググった:
内蔵ストレージの少ないパソコンの救済策。SDカードに仮想ディスクを作る方法
(SDカードにswapファイルを置く事はできても、その度にrebootが必要で、rebootする度にSDや仮想
\ドライブのマウントが外れて接続してswap設定すると、またrebootが必要になる、の繰り返し)
windows 動的にswapをon/offする方法、でググっても出てこない。
やっぱ、WinがLinuxの様に動的にswapをon/offできないのが問題だ。ダメだこりゃ。
\
じゃあどうするか。SDでReadyBoostくらいしかない。HDDの隣りのパーティションにswapファイルを
作るのは物理的に距離がありあまり良くないと思われる。あとは定期的にBackUpとるくらい。
このメモの表題は、WinではSDカードでメモリのswapができないのか?、でいくか。
ChatGPTに聞いてみるか。
Windows10ではSDカードでメモリのswapができないのか?
Windows 10では、SDカードを仮想メモリ(Swap)として使用することはできますが、これは推奨されません。理由は、SDカードは高速なデータ転送には向いていませんし、長時間の連続書き込みにも耐えられないことがあるため、データの破損やSDカードの故障の原因になる可能性があります。
代わりに、Windows 10では、システムに追加のRAMを追加するか、ハードディスクやSSDを使用して仮想メモリを作成することが推奨されます。この場合、システムの性能が向上し、安定性が向上します。
仮想メモリを設定する方法は次のとおりです。
[スタート]ボタンをクリックし、[設定]を選択します。
[システム]を選択し、[情報]をクリックします。
[詳細システム設定]をクリックし、[高度な]タブをクリックします。
[パフォーマンス]セクションの[設定]をクリックします。
[詳細設定]タブをクリックし、[仮想メモリ]のセクションで[変更]をクリックします。
[システムが自動的にサイズを管理する]のオプションを選択するか、[ユーザー定義サイズ]を選択して、必要に応じてサイズを調整します。
この方法で設定した仮想メモリは、SDカードよりも安定しており、システムのパフォーマンス向上に役立ちます。
SDカードを仮想メモリ(Swap)として使用する方法を教えて
SDカードを仮想メモリ(Swap)として使用することは、Windows 10では推奨されていません。しかし、知っておくと役立つこともあります。
以下は、SDカードを仮想メモリとして使用する手順です。
SDカードをPCに挿入します。
[スタート]ボタンをクリックし、[設定]を選択します。
[システム]を選択し、[情報]をクリックします。
[詳細システム設定]をクリックし、[高度な]タブをクリックします。
[パフォーマンス]セクションの[設定]をクリックします。
[詳細設定]タブをクリックし、[仮想メモリ]のセクションで[変更]をクリックします。
[現在のシステムに適用されている仮想メモリ]のセクションで、[SDカード]を選択します。
[カスタムサイズ]を選択し、SDカードに割り当てるメモリの量を入力します。
[設定]をクリックして変更を保存します。
コンピュータを再起動します。
これでSDカードが仮想メモリとして使用されるようになります。ただし、再起動後にシステムに影響があるかどうかを確認する必要があります。また、SDカードは高速なデータ転送には適しておらず、長時間の連続書き込みにも耐えられないため、データの破損やSDカードの故障の原因になる可能性があることに注意してください。
win10 起動時 vhd 自動マウント、でググった:
パソコン起動時にVHDを自動で接続する方法
https://www.sumaho-mation.com/vhd-auto/
https://www.out48.com/archives/1035/
仮想ディスクをWindows起動時に自動マウント(アタッチ)するシンプルな方法…バッチファイルもスクリプトファイル不要。
(ディスク管理で新しいディスクを割り当てる時に、NTFSへマウントするというのがあり、起動時に
自動マウントしなくてもよくなるかもしれないが、swapファイルがドライブ直下にしか作れないの
でNG)
windows10 起動時 バッチファイル実行、でググった:
https://4thsight.xyz/33454
(どちらの方法でもWin10の起動時swap_onより早くSDをmountすることはできなかった。
ChatGPTは間違えていると思われる。SDをswapに設定はできるが、動作させる事はできない。
\
また、SDはspitzでswapとして何年も使っているが、これまで問題は起きていない。CFに
比べればSDはアクセスは遅いがCFはあまり替えが効かない。さすがに最近はこれでネットは
しないため長時間の連続書き込みにはなっていないが。確かにFirefoxのコンパイルはCFでな
いと突破できない事は昔あった。https://seesaawiki.jp/lifewithslackzaurus/d/Firefox%2d3%2e0%2e4
Slackでも2GBRAMの古いNotePCでSDをswapにして色々と試せばよかったな。長時間の連続書き
込みにSDが向いていないのはChatGPTが言う通りだろうが、ヘビーなコンパイルでもしない限り
今の使用感ではSegFaultは起きにくいと思う)
では改めてどうするか。やっぱりSDでReadyBoostくらいしかない。24GBをRBとしswapを0に
設定した(メモリ不足するとアプリが落ちる事になる。作業量が増えてアプリが落ちたらswap
を有効にしよう。それまでは0で行く)。起動時に警告が出て一時ページングファイルを作成した
とくる。
Win10$ cat /proc/swaps
Filename Type Size Used Priority
P file 0 0 0
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 6272688 1993168 0 0 1993168
Swap: 0 0 10776897536
しばらく様子見。
(2023.06)
様子見したがメインメモリ8GBだとHDDへのアクセスは無くならないし暖かくなる。
XDだけなら少し暖かくても何とかなるかもだが、Psやるとなるとダメな気がする。
SDカードに生成物を入れて、システム(+swap)と生成物を隔離する事にした。
システム(+swap)はHDDに入れるのをやめてSSDで運用する。時々BackUpをとる。
E5250の16GBRAMは約9000円。SSDが3つ買える。この使用感でSSDをどのくらい使ったらクラッシュ
するのか確認してから買うか。あるいは3980円くらいになったら買うか。がしかし、gooのg06みたい
に気付いたらもうどこにも売ってないとかはイヤだしなあ。
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 6177840 2088016 0 0 2088016
Swap: 2806952 407864 2399088
\
やっぱりPsちょっと使っただけでメモリ食うな~。
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 7233196 1032660 0 0 1032660
Swap: 3086740 687944 2398796
\
suspendからの復帰直後。これも酷いが、桁は違えどZaurusでも見慣れた光景なんだよなあ。
ZaurusではswapはSDで、記憶メモリはSSDではなくCFだけど。
Win10$ free
\ total used free shared buff/cache available
Mem: 8265856 7498592 767264 0 0 767264
Swap: 5119240 1014476 4104764
(2023.07)
最近、Win10だとCPU-Fanがずっと回ってる気がするからswapしてるせいかと思いSlack側へreboot、
しばらくするとSlackでは回らなくなったので、やっぱswapのせいか。が、gimp使うとswap食って
なくても低速で回りだすので、swapのせいだけでもないらしい。Ps使うと起動時はガンガン回り
だすしswapも食いだすが起動後は低速か止まっている事もある。swap食ってるが止まっている。
難しいな。
(2023.07)
Microsoft pc manager を使ってメモリー解放(boost)する事にした。メモリー解放するとswapの
量が増える。メモリー解放した方がFanが回らなくていいのか?。
https://pcmanager.microsoft.com/en
参考情報:
ReadyBoostと仮想メモリはどっちのほうが効率がいいんでしょうか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1198190006
USBメモリにReadyBoostを設定してキャッシュを逃がす
http://route555.blogspot.com/2015/01/usbreadyboost.html
(ReadyBoostとはディスクキャッシュのflash版ということか。よく見るとウィキペディアにもそう
書いてある。HDDで省メモリするなら必須だな)
\
タスク マネージャーの見方(Memory)
https://jpwinsup.github.io/blog/2021/05/10/Performance/SystemResource/TaskManagerMemory/
(つまり、コミット済み分母 = 物理メモリ + swap使用予定量。
Firefox/Cygwin/Emacs/XDだと、コミット済み:6.9/7.9GB、キャッシュ済み:3.1GB)