sysctl.conf 低速PCのための設定

2020年3月7日

低速PCの設定

メモリが少ないパソコンをデスクトップ用途にチューニングする。 

設定方法

/etc/sysctl.conf に追加する。
sudo sysctl -p で再起動無しで有効に出来る

設定値の確認は
sudo sysctl vm.swappiness=10
のようにすることも出来る。

スワップの設定

メモリがすくないため、アプリケーションが起動するときにスワップアウトが発生しないように、予めスワップアウトさせておく。

vm.swappiness=40

  • 大きなアプリケーションを起動するなら swappiness を大きく調整する。
  • 【切替時のレスポンス】色々なアプリケーションを同時に起動しておき、切り替えて使用する場合は swappinessを小さい方向に調整する。
  • 【起動時のレスポンス】アプリケーションを切り替える際に、実行中のアプリケーションを終了して別のアプリケーションを起動するような使い方をする場合は、swappiness を大きくする方向に調整する。

  • topコマンドで監視する場合、SWAPフィールドを表示させる。sarコマンドや vmstatコマンドでスワップ状態を監視できる。

ディスクアクセス(ダーティー)の変更

サーバーと違いデスクトップは、アプリケーションを起動したり終了したりすることが多い。
アプリケーションが起動するときにメモリを一気に必要とするため、ダーティなメモリを回収できるように早めに書き出すようにする。
特にディスクが遅いので早め早めに書き込むようにする

vm.dirty_background_ratio = 10
vm.dirty_ratio = 50
vm.dirty_writeback_centisecs = 200
vm.dirty_expire_centisecs = 6000

VFSキャッシュ

リンク先を参考に試した見たが、まだ最適な設定値が見つかっていない。
現在 10 のような小さな値で試している。

vm.vfs_cache_pressure=5000
https://codeday.me/jp/qa/20181130/38635.html

vm.vfs_cache_pressure=50
https://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that

デフォルト値

# vm.swappiness=60

# vm.dirty_background_bytes = 0
# vm.dirty_bytes = 0
# vm.dirty_background_ratio = 10
# vm.dirty_ratio = 20
# vm.dirty_writeback_centisecs = 500
# vm.dirty_expire_centisecs = 3000
# vm.dirtytime_expire_seconds = 43200

# vm.vfs_cache_pressure = 100