ZRAMは、より多くのRAMを得るためにCPUの馬力を交換する素晴らしいソリューションですが、ZRAMにより多くのRAMを割り当てたり、より少ないRAMを割り当てたりするには、どのように設定すればよいのでしょうか?圧縮アルゴリズムはどのように変更できますか?このような変更は、どのようなシナリオで価値があるのでしょうか?UbuntuでZRAMを設定する方法については、こちらをお読みください。
知っておくとよいことZRAM、ZCache、ZSwapのどれが適しているのか分からない場合、私たちがお答えします。
現在のZRAMの状態を確認する
ほとんどの人が、UbuntuやDebianベースのLinuxディストロでzram-configスクリプトを使ってZRAMを使用しています。このスクリプトを使えば、最も簡単な方法でZRAMを利用できるからだ。コマンドでインストールできる:
sudo apt installutil-linux zram-config
次に、UbuntuマシンでZRAMがすでに有効になっているかどうかをチェックする。zramctlユーティリティを実行することで可能です:
zramctl
お使いのシステムでZswapが現在無効になっていることを確認します:
sudo -secho 0 > /sys/module/zswap/parameters/enabled
Zswapは代替RAMキャッシュ・ソリューションで、ZRAMと同様、すべてのLinuxディストロにデフォルトで搭載されている。しかし、ZRAMとは異なり、物理的なスワップ・パーティションに依存するため、古いディスクでは動作が遅くなることがある。
コンピュータを再起動して、Ubuntuシステムに初期ZRAMブロックデバイスを作成します。ヒント UbuntuでTRIMを有効にしてSSDドライブの寿命を延ばす方法については、こちらをご覧ください。
正しいZRAMセットアップを知る
マシンをバックアップして起動した状態で、ZRAMパーティションが報告されているかどうかを確認します:
cat /proc/swaps
スクリーンショットでは、1つのZRAMブロックデバイスと共存している典型的なスワップファイルを見ることができます。この場合、私のシステムには4GBのRAMと2GBのZRAMがあり、これはRAMの半分の量である。しかし、作業負荷によっては、このサイズを変更したくなるかもしれません。
- マルチメディアやビデオを扱う場合、それらはあまり圧縮できないので、ZRAMのサイズを小さくして実際のスワップのサイズを大きくするのがベストでしょう。
- 大規模なデータベースなど、圧縮性の高いデータを扱う場合はその逆です。このようなシナリオでは、ZRAMのサイズを増やすことでコンピュータの応答性を高めることができます。
ZRAMが使用する圧縮アルゴリズムに関連する、もう1つの調整も調べる価値があります。デフォルトでは、CPUへの負荷が軽いLZOまたはLZO-RLEが使用されます。しかし最近のCPUでは、新しいZSTDアルゴリズムが通常より優れた圧縮率を提供し、CPUへの負荷が多少高くても感じられない。あなたのPCが10年未満であれば、古いLZOの変種の代わりにこのアルゴリズムを使用する価値があります。
ZRAMサイズの変更
ZRAMの設定を変更するには、"/usr/bin "フォルダにある実行スクリプトを編集する必要がある。ターミナルに以下のコマンドを入力する:
sudo nano /usr/bin/init-zram-swapping
init-zram-swapping」スクリプトをスクロールし、memで
始まる行を見つける。
これは、カーネルがZRAMブロック・デバイスに割り当てる領域を定義します。デフォルトでは、システムの物理メモリの半分が確保されます。"1024 "を "512 "に置き換えることで、これを4分の1に減らすことができます。
また、mem値を "1536 "に設定することで、ZRAMが使用するメモリ量を増やすこともできます。これにより、物理メモリの4分の3がZRAMに割り当てられます。
ZRAM圧縮アルゴリズムの変更
同じ場所からZRAMの圧縮アルゴリズムを変更することもできます。そのためには、新しいターミナル・セッションを開き、ZRAMで利用可能な圧縮アルゴリズムをすべてリストアップします:
cat /sys/block/zram0/comp_algorithm
cat /sys/block/zram0/comp_algorithm 高度なカスタムZRAM構成では、アルゴリズムを混ぜて使用することができます。ただし、デフォルト値を使用している場合は、すべてのZRAMパーティションで同じアルゴリズムが使用されます。
前に編集した「init-zram-swapping」実行スクリプトに戻ります。そこで、次の行を見つけます:echo $mem > /sys/block/zram0/disksize
これをコピーして下に貼り付け、同じコマンドが2つできるようにします。
行頭の$memを
"zstd "に置き換える。
行末を "disksize "から "comp_algorithm "に変更する。
注:別のアルゴリズムを使用したい場合は、上記のコマンドのzstdを
、cat /sys/block/zram0/comp_algorithmの
いずれかの値に変更してください。
zramctl
コマンドを実行して、新しいZRAM設定が機能しているかどうかを確認します。
調整したスワップを積極的に使用する場合、負荷がかかった状態でのシステムのパフォーマンスを確認してください。カクカクしたり、もたついたりするようであれば、やりすぎの可能性があり、選択した値を下げる必要があります。一方、飛んでいるようであれば、もう少し増やしてもよいでしょう。
システムのZRAMを設定することは、Ubuntuシステムを最適化する第一歩に過ぎません。Ubuntuで独自のLinuxカーネルをコンパイルすることで、マシンから最大限のパフォーマンスを引き出す方法については、こちらをご覧ください。一方、よりパワフルなPCを構築しようとしているのであれば、Linux用PCを構築する際に注意すべき点は以下の通りだ。
画像クレジット:Liam Briese via Unsplash.すべての加工とスクリーンショットはRamces Redによるものです。