Linuxの高速化チューニング

Debianを始めとするLinuxで高速化の設定を調べました。基本的にはディスクへの書込み回数を減らしパフォーマンスの向上を図っています。

スポンサーリンク

ジャーナリングをwritebackモードに変更する

ジャーナルについては別のページにまとめています。Linuxファイルシステム(ext4)のジャーナリングモードについてを確認してください。ジャーナルの説明とモードのへ変更方法をまとめています。

最終アクセス時刻のメタデータが更新をとめる

「/etc/fstab」を編集する。オプションに「noatime」を追加します。

/dev/sda1  /  ext4  errors=remount-ro,data=writeback,noatime  0  1

バッファヘッドとデータページを関連を回避する

「/etc/fstab」を編集する。オプションに「nobh」を追加します。

/dev/sda1  /  ext4  errors=remount-ro,data=writeback,noatime,nobh  0  1

SSDのtrim機能を有効にする

「/etc/fstab」を編集する。オプションに「discard」を追加します。

/dev/sda1  /  ext4  errors=remount-ro,data=writeback,noatime,nobh,discard  0  1

bootスクリプトの並列実行可能し起動を高速化する

この設定によって起動時にトラブルが発生する危険があるようです。「/etc/init.d/rc」を編集します。「CONCURRENCY」の設定を下記に変更します。

CONCURRENCY=shell

高精度イベントタイマーを採用する

イベントタイマーの性能を上げ割り込み処理を効果的に行い処理速度が向上するはずです。htetが使用できるか確認します。下記コマンドの実行結果に「hpet」が含まれていればOKです。

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
hpet acpi_pm

grubの設定を変更し起動オプションを追加します。編集するファイルは「/etc/default/grub」です。

GRUB_CMDLINE_LINUX="clocksource=hpet"

編集後下記コマンドを実行します。

sudo update-grub2
sudo reboot

再起動後、次のコマンドを実行し、「hpet」が表示されればOKです。

cat /sys/devices/system/clocksource/clocksource0/current_clocksource

tmpをメモリー上で動かし高速化する

「/etc/fstab」を編集します。最終行に以下の設定を追加します。ちなみにdefaultsはrw, suid, dev, exec, auto, nouser, asyncと同じオプションです。

tmpfs  /tmp  tmpfs  defaults,noatime  0  0
tmpfs  /var/tmp  tmpfs  defaults,noatime  0  0

よく使うファイルを動的に先にメモリに読み込んでおいて高速化する

まずは、「preload」のインストールを行い、その後ログの出力を止めます。インストールは次のコマンドで行います。

sudo apt-get install preload

次にログの出力を止めます。「/etc/defaults/preload」編集し下記内容を追記します。

OPTIONS='-i -l/dev/null'

再起動します。

sudo /etc/init.d/preload restart
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク