SWAPいろいろ

新型コロナウィルス感染者

北海道  276人陽性率4.02%5.64%
死亡者  16人うち札幌13人
札幌   159人陽性率4.81%
札幌以外 117人

沖縄共々順位を戻してしまいましたね。。。
一時場10%を超えていた陽性率が下がっているのが救いです。


SWAPいろいろ

先日ノーパソ君の8GBへSWAP拡張について書きましたが、
拙生のような使用環境ではディフォルトで作成される
2GB程度でも大丈夫であろうとも書きました。
ただ、あくまで拙生の環境であるので、それだけで
終わっては舌っ足らずであろうかと、メモリ不足の
ときのことも書いておきます。

 今どきメモリ不足なんてある?

最近のパソコンのメモリは最低4GB以上は積まれているので、
Windowsのように最初っからシステムが半分の2GBを分捕って
しまわない限り、メモリ不足はないのかもしれません。
しかしLinuxディストリビューションを低スペックマシンの
再利用として使う場合や、ネットブックなどで元々が
低スペックで十分メモリが積まれていないケースも考えられます。

拙生のネットブック(SSDに換装済み)を例にします。
この古いネットブックのメモリは最大1GBしか積めません。
CPUも1.83GHzデュアルコアで、Windows10はとても無理だし
最近の重量化したubuntuでもサクサクとはいかないので、
BionicpupというPUP(パピーリナックス)系の
軽量Linuxディストリビューションで使っています。
もちろん使用目的はweb検索・メール・サーバー管理のための
ターミナルエミュレータしか使わないので十分なのですが、
試しに重たいアプリを動かしてスワップを発生させると
途端に動きが緩慢になりもたつき始めます。
もっと過酷な条件としてddコマンドを使って完全な
メモリ不足にしてやるとプチフリーズまでは行かないものの、
もたつき度MAXのイライラマシンになってくれます。
メモリとSSDの速度はかなり違うので、パフォーマンスは
落ちてしまうのは当然ですが、SSDですらこれですから
HDDだとガタ落ちになってしまうのは当たり前です。。
基本は実メモリを潤沢に積むことですが、最大が1GB止まり
ですからそれ以上を望むのなら新しいネットブックを
購入するしかありません。@そんな気まったくなしw

ちょいとカスタマイズ

でも設定を変更したりしてディフォルトよりはちょっとは
マシにそれなりに使ってます。

swappiness

実メモリがある程度の容量を消費すると、使用頻度の低い
ページからSWAPアウトさせますが、その頻度を変更することが
できるので試してみる価値はあります。
swappinessと言ってkernel 2.6からスワップ発生頻度を
コントロールできるようになりました。。

/etc/sysctl.conf に
vm.swappiness=**  を記述するだけです。

**はディフォルトが60ですが0〜100が入ります。
スワップ発生頻度は 0<60<100 なので発生頻度を上げたいときは
80とか下げたいときは逆に30とかを記述します。
記述後再起動で設定が反映されます。

 ちょいと解説

実メモリには使用中の領域・空き領域の他にキャッシュ領域があります。
キャッシュには2通りあり、ファイル単位でアクセスするファイルシステム
に対するキャッシュと、ブロックデバイスに直接アクセスするときに
使用されるバッファキャッシュです。
これらの詳細は次回にするとして、いずれも一度扱ったファイルを記憶して
再利用するときに一瞬で(メモリのスピードで)読み込むことができます。

このキャッシュ量は多いほどよいのですが、空き容量が足りなくなると
メモリはキャッシュの容量を減らして空き容量にアテガいます。
ですから、使用頻度の低いものはSWAPアウトしても空き容量を作って
キャッシュ量を増やすほうが良いのか、またはキャッシュ量を減らしても
空き容量として実メモリを使い切りSWAPアウトを減らしたほうが
パフォーマンスが上がるのかは環境によると思うので、いろいろ
やってみる価値があるかもと言うわけです。

パラレルを試す

SWAPの速度アップを目指す一つの方法です。。
内部ストレージがHDDではなくSSDであればメモリと比較すると
まだまだではありますが、確実に早くはなります。
HDDでも複数抱いている場合は、それぞれにSWAP領域を作成し、
プライオリティを同一にすることでパラレルで働くので、
2倍とは言わないまでもかなり早くなります。
 ・プライオリティを付けると容量が増えるだけです。
SSDを複数抱いている場合は結構イケる方式となります。

 内蔵ストレージ1台の場合はどぉする?

メモリ容量が潤沢なノーパソ君2台のSDカードスロットには、
あまり使うことはありませんが、一応データ保存などに使えるように
128GBのSDカードが半挿しになっていています。
そしてネットブックにはちょっと目的が違う2GBのSDカードが
しっかりと挿してあります。w

ネットブックには内蔵SSDが1台だけですから、そこに
1GBのSWAP領域を作成した他に、SDカードを挿してフォーマットし
SWAP領域とし合計3GBにしています。@プライオリティは同列
SDカードスロットの付いていないノーパソ君などはUSBフラッシュ
メモリでも良いと思います。
古いものはUSB2.0しか付いていませんが、3.0や3.1ならそれなりに
スピードアップが望めるでしょう。

 捨てずによかった♪

SSDとSDカードで並列の動作はどぉなのか。。。
ベンチマークしたわけじゃありませんがSDカードによりSWAP発生時
体感的には確実に早くなりましたのでそれで十分です。
64GBとか128GBではなく捨ててもイイような2GBのカードがとても
役に立っているという事例ですね。
usb2.0の2〜4GBフラッシュメモリあたりも役に立つかも。w

HOME

おすすめ