GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシステムのパフォーマンスを向上させるための役立つヒント

実行中のLinuxシステムが時間の経過とともに遅くなったり遅くなったりすると、私たちは皆嫌悪します。強力なPCハードウェアに投資したかもしれませんが、複数のアプリケーションを実行すると速度が低下します。 Linuxシステムは、プロセスの回復力と速度で知られています。ただし、プロセスやサービスの実行に予想よりも時間がかかる場合があります。

その理由は、RAMを消費するシステムアプリケーション、システムリソースを消費する多くの不要なアプリケーション、システムの構成が不十分、需要の増加に対応できない非効率的なハードウェアリソースなどさまざまです。

Linuxシステムは、システムパフォーマンスを向上させるために、いくつかのツール、微調整、および自己修復の手法を提供します。私の最初の微調整は、必要なソフトウェアのみをインストールするシステムを無駄のない状態に保つことです。これは、システムが使用するプロセッサとメモリの数に大きな違いをもたらします。次に、この記事では、スタートアップサービスの管理、ハードウェアの改善、複数のタスクの管理、ブラウザーを効率化するためのヒントなど、システムの停滞を解決するための単純化されたアプローチに焦点を当てます。この記事の例は、FedoraおよびUbuntuシステムに焦点を当てていますが、すべての主要なLinuxディストリビューションにも適用されるはずです。

Linuxシステムのパフォーマンスを監視および改善するためのツール

システムの問題を解決するための最良のアプローチは、構成を行う前にそれを監視することです。問題の原因を特定したら、更新を行い、システムをもう一度検査して、加えられた変更によって目的の変更がもたらされたかどうかを確認します。

Linuxコミュニティは、システムパフォーマンスを監視するためのいくつかのコマンドラインとグラフィカルなオープンソースツールを提供しています。 GNOME System Monitor、Conky、Grafana、KDE ​​System Guard、GKrellMなどのツール、およびtopやiotopなどのターミナルコマンドは、CPU使用率に従ってプロセスを並べ替えるのに役立ちます。どちらのツールを選択する場合でも、プロセッサの使用状況、メモリの使用状況を確認するか、ストレージディスクやUSBストレージ、ネットワークツール、さらにはグラフィックプロセッサなどの他のハードウェアリソースを監視するようにしてください。

効率的なデスクトップを選択してください

新しいFedora34ディストロはGNOME40を特徴としており、信頼性と一貫性を高めるいくつかの新機能と調整が加えられています。場合によっては、ディストリビューションのデフォルトのデスクトップ環境が十分に応答しない可能性があり、より軽量のデスクトップをインストールする必要がある場合があります。私はGNOME40を使い続け、新しいインストールよりも微調整を好みますが、最適に機能するために必要なリソースが少ないXfce、LXDE、LXQTなどのデスクトップ環境を試すことができます。

次の手順で、XFCE、LXDE、Cinnamon、またはLXQTデスクトップ環境をFedoraLinuxにインストールします。

次のコマンドを使用して、使用可能なデスクトップ環境を確認します。

$ sudo dnf grouplist -v

お気に入りのデスクトップ環境を選択してインストールします。

$ sudo dnf install [desktop_environment]

XFCEデスクトップをインストールする例

$ sudo dnf install @xfce-desktop

このコマンドは、Fedoraを最初にインストールしたときにインストールされたであろう共通パッケージを除いたデスクトップ環境をインストールします。
次のファイルマネージャーの調整により、デスクトップ環境の応答性を高めることもできます。

  • 堆肥化、アニメーション、サムネイル画像などの視覚効果を無効にしてみてください。
  • 重要なファイルマネージャー機能を効率的に処理するXFEやThunarなどの軽量ファイルマネージャーを使用します。
  • キーボードショートカットの使い方を学ぶ。
  • 軽量のウィンドウマネージャーを使用するようにデスクトップを構成します。
  • Fluxbox、JWM、Openboxなどのウィンドウマネージャーのデスクトップから切り替えることで、さらに一歩前進できます。ウィンドウマネージャーはデスクトップよりも高速に実行されますが、使い勝手が悪く、アイコンやシステムドックがない場合があります。

Linuxシステムの更新とクリーンアップ

システムを最新の状態に保つと、全体的なパフォーマンスと効率が向上します。 Linuxディストリビューションの各リリースには、一般的なバグ修正、パッチ、アップデート、アップグレード、および新しいアップストリームオープンソースツールが付属しています。たとえば、Fedoraのリリースサイクルは6か月ですが、Canonicalは4月に2年ごとにロングタームサポート(LTS)エンタープライズグレードのUbuntuリリースをリリースします。

システム全体の更新とアップグレードを実行するには、コーヒーを飲み、次のコマンドを実行します。

#Fedora
$ sudo dnf upgrade --refresh
$ sudo dnf autoremove
$ sudo dnf update
$ sudo reboot
#Ubuntu
$ sudo apt-get update
$ sudo apt-get upgrade

システムのクリーンアップ

システムパフォーマンスを改善するためのもう1つの鍵は、システムを無駄のないクリーンな状態に保ち、システム内の不要なファイルやキャッシュを取り除くことです。不要になったアプリケーションをアンインストールし、不要なダウンロードファイルを削除してください。

次のコマンドを実行して、システムの一時キャッシュを削除します。

$ sudo apt-get clean #Ubuntu

次のコマンドを使用して、未使用のパッケージと依存関係を削除します。

$ sudo apt-get autoremove    #Ubuntu
$ sudo dnf autoremove      #Fedora

最速のミラーとローカルミラーを有効にする

Fedoraで最速のミラーまたはUbuntuでローカルミラーを有効にすると、最新のソフトウェアアップデートをダウンロードするときにシステムを高速化できます。最速のミラーは、ダウンロードを高速化するために利用できる最も近い地理的ミラーを決定するプラグインです。

Fedora 34で最速のミラーを有効にするには、DNF構成ファイル[/etc/dnf/dnf.conf]に以下のフラグを追加します。

echo 'fastestmirror=true' | sudo tee -a /etc/dnf/dnf.conf
echo 'max_parallel_downloads=7' | sudo tee -a /etc/dnf/dnf.conf
echo 'deltarpm=true' | sudo tee -a /etc/dnf/dnf.conf
cat /etc/dnf/dnf.conf 

# [main]
# gpgcheck=1
# installonly_limit=5
# clean_requirements_on_remove=True
# skip_if_unavailable=True
# fastestmirror=1
# max_parallel_downloads=7

Ubuntuでは、ソフトウェア設定を介してソフトウェアダウンロードのローカルミラーを有効にするか、apt-fastツールを使用して複数の場所からパッケージを効果的にダウンロードできます。 Apt-fastは、複数の接続から同時にパッケージを取得してダウンロードします。次のコマンドを使用して、公式PPAを介してapt-fastツールをインストールできます。

$ sudo add-apt-repository ppa:apt-fast/stable
$ sudo apt-get update
$ sudo apt-get install apt-fast

システムの起動プロセスを管理する

Linuxディストリビューションの大部分は、システム起動サービスとリソースを管理および最適化するためのsystemdスイートを提供します。 systemdソフトウェアスイートを使用して、システムを稼働させ、プロセスを最適化し、デバッグし、システムサービスのトラブルシューティングを行い、全体的なパフォーマンスを向上させることができます。

次のsystemdコマンドを実行して、システムの起動時間と、起動中にカーネル、ユーザースペース、およびinitrdの起動にかかった時間を分析してください。

$ systemd-analyze

起動時に実行されるすべてのサービスを一覧表示します:

$ systemctl list-unit-files –state=enabled

systemd-analyze blameコマンドを使用して、初期化時間でソートされたすべての実行中のサービスを一覧表示します。

$ systemd-analyze blame

このコマンドは、起動中に開始するのに非常に長い時間がかかったプロセスとサービスを分析します。必要に応じて、次のコマンドを使用して、起動時にサービスの実行を無効にします。

$ sudo systemctl disable foo_service

その他のsystemdの最適化

Systemdは高速な起動時間を提供しますが、次の手順でさらに最適化できます:

  • カーネルコマンドラインにselinux=0を追加して、SELinuxを無効にすることを検討してください。経験豊富なシステム管理者は、セキュリティ上の理由からSElinuxをオンのままにしておくことをお勧めします。
  • Linuxシステムでinitrdを使用する場合は、initrdをバイパスします。
  • systemdのデフォルトのログツールであるJournalを使用し、Syslogのアンインストールを検討してください。
  • cronを削除し、代わりにsystemdタイマーを使用することを検討してください。
  • GNOME40などの最新のデスクトップ環境を使用します。
  • 不要なブートプロセスまたはサービスを確認して無効にします。
  • SysV initスクリプトなどのシェルベースのサービスを削除し、ユニットファイルに置き換えてください。

続きを読む:起動時にsystemdサービスを管理する方法。

プリロードをインストールして、アプリケーションのロード時間を短縮します

プリロードは、システムで実行されているプロセスとサービスに関する情報を収集して分析するためのデーモンです。頻繁に使用するアプリをキャッシュすることでサービスの読み込み時間を短縮し、全体的なパフォーマンスを向上させます。

次のコマンドを実行して、プリロードをインストールします。

$ sudo apt-get install preload  #Ubuntu
$ sudo dnf install preload  #Fedora

システムを再起動してプリロードをバックグラウンドで実行し、頻繁に使用するアプリケーションのロード時間が改善されていることを確認します。

マルチタスクを避ける

ゲーム、ビデオエディタ、仮想マシンホストなど、リソースを大量に消費するアプリケーションを実行する場合は、次の原則を適用してください。

  • 一度に1つのリソースホッグアプリのみを実行します。
  • リソースを大量に消費するアプリをバックグラウンドで実行しないでください。
  • 一度に使用するアプリの数を制限し、使用していないアプリはすべて閉じます。
  • 同時実行を制限して、実行中のアプリのパフォーマンスを向上させます。
  • バックグラウンド処理も同様の機会をもたらします。
  • ソフトウェアの更新、ファイルシステムの検証、バックアップ、イメージのコピー、営業時間外の大規模なダウンロードなど、リソースを大量に消費するバックグラウンドプロセスをスケジュールします。 KCronやZeitなどのGUIツールを使用すると、タスクの管理とスケジュール設定が簡単になります。

ブラウザのヒントと調整

ブラウザは、私たち全員が毎日実行しているアプリの1つです。ブラウザは、電子メール、検索エンジン、ソーシャルメディアWebサイトへのアクセス、さらには開発者向けのWebアプリケーションのテストから生産性を向上させます。ブラウザの適切な選択と簡単な調整により、システムが最適に機能するようになります。 Firefoxは、高度なWeb開発ツールを提供し、高速で完全にオープンソースであり、Fedoraのデフォルトのブラウザーであるため、私はFirefoxを好みます。

システムのリソースとブラウザを最大限に活用するための微調整とヒントを次に示します。

  • ウェブサイトの広告とトラッカーは、PCがページ上の処理に費やすCPUのほとんどを消費します。したがって、ブラウザ拡張機能を使用して広告をブロックし、トラッカーもブロックする必要があります。 Privacy Badger、uBlockOriginなどのツールを試してください。
  • FirefoxでHTML5自動再生拡張機能を無効にするか、ChromiumまたはChromeでさらに別の自動再生ブロッカー拡張機能を使用して、動画とアニメーションの自動再生を無効にします。
  • ブラウザから不要なアドオンと拡張機能をすべて削除します。
  • 強力なPCの場合は、FirefoxやChromiumなどのマルチプロセスおよびマルチスレッドのオープンソースブラウザを試してください。
  • PCのリソースが限られている場合は、Dilloなどの軽量ブラウザを使用してください。
  • 一度に1つのブラウザのインス​​タンスを実行して、リソースの消費を減らします。
  • 一度に数個のタブのみを開き、使用が終了したらタブを閉じます。
  • ブラウザのJavaScriptを拡張機能で管理して、ブラウザの需要を減らします。
  • ブラウザをアンインストールして再インストールすると、最新のブラウザアップデートが取得され、破損したデータキャッシュや不要な拡張機能が削除されます。

ハードウェアのアップグレードに投資する

HDDをSSDに交換

ソリッドステートドライブ[SSD]は、ハードディスクドライブ[HDD]と比較して、読み取りおよび書き込み時間が速いことが知られています。これら2つのドライブは同じように機能しますが、SSDのデータは相互接続されたフラッシュメモリチップに保存され、電力が流れていない場合でもデータを保持します。本質的に、SSDはより高速な起動、高速ファイル転送を提供し、アプリケーションの起動と実行をより高速にします。 PCをゲーム、学校の割り当て/プロジェクト、開発、またはビジネスのいずれに使用する場合でも、コードを本番環境に移行するか、プレゼンテーションを時間どおりに配信するかによって、速度が向上する可能性があります。ただし、SSDはHDDドライブよりも高価であることに注意してください。

RAMをアップグレードする

Fedora34やUbuntu18.04などのLinuxディストリビューションを正常にインストールして実行するには、少なくとも2GBのRAMが必要です。ゲーム、ビデオ、またはグラフィックソフトウェア用のリソースを大量に消費するソフトウェアを実行する場合は、システムRAMを増やす必要があります。コンピュータのRAMスロットに適合する理想的なモデルを入手して、手動でPCにインストールできます。

次のコマンドを実行して、システムが使用しているRAMの量を確認します。

$ free –m

#topまたは#htopを使用して、RAM使用量の詳細を取得することもできます。

# top
# htop

スワップスペースを増やす

コンピュータに処理するのに十分なRAMがない場合、「スワップ」スペースはシステムパフォーマンスの向上に役立ちます。ディストリビューションを最初にインストールするときは、RAMとほぼ同じサイズのスワップパーティションスペース専用にするようにしてください。たとえば、システムに4GBのRAMがある場合は、4GBのスワップパーティションを構成します。 FedoraとUbuntuの両方で利用可能なGpartedディスクマネージャーを使用して、スワップサイズを増やすこともできます。

システムの過熱を減らす

過熱しているコンピュータは常に低速で動作し、システム全体のパフォーマンスに悪影響を与える可能性があります。 TLPとcpufreqを使用して、システムの過熱を減らし、管理することができます。 cpufreqを使用すると、ユーザーはCPUアルゴリズムを微調整し、システムプロセッサがコンピュータの温度と消費電力に応じて周波数を調整できるようになります。

次のコマンドを使用してCPUFREOをインストールします。

$ sudo apt-get install indicator-cpufreq

TLPは、ラップトップのバッテリーを最適化し、消費電力レポートを表示するのに役立つ電力管理ユーティリティです。ただし、最初にTLPをインストールして、バックグラウンドで動作させる必要があります。

次のコマンドを実行してTLPをインストールします。

Ubuntu
sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw
Fedora
$ sudo dnf install tlp tlp-rdw

以下のコマンドを実行して、TLPの使用を開始します。

sudo tlp start

このコマンドはTLPを起動し、バックグラウンドプロセスとして実行できるようにします。

次に、次のコマンドを実行して、バッテリー情報とステータスを表示します。

$ sudo tlp-stat -b

まとめ

この記事では、システムの停滞の一般的な原因、ツール、およびシステムの診断に役立つ方法について説明します。また、いくつかのベストプラクティスと、systemd、PC、およびブラウザーの簡単な調整を適用して、問題を修正する方法、または問題を完全に回避する方法についても説明します。また、ハードウェアリソースが限られている場合に備えて、追加の現金を節約し、追加のRAMおよびSSDハードウェアに投資することができます。

システムで使用するパフォーマンスのヒントを共有してください!


Linux
  1. Linuxのトラブルシューティング101:システムパフォーマンス

  2. 信頼性の高いLinuxシステム自動化のための8つのヒント

  3. Linux パイプのパフォーマンスを向上させる方法はありますか?

  1. この軽量Linuxデスクトップで生産性を向上させる

  2. noatimeでLinuxシステムのパフォーマンスを向上させる

  3. Sysstatを使用してLinuxシステムのパフォーマンスを監視する方法

  1. Linux で ext4 ファイルシステムのパフォーマンスを向上させるためのマウント オプションは何ですか

  2. Linux でのパフォーマンスの問題をトラブルシューティングするための基本的なコマンド

  3. Mac OS X と Linux での dd パフォーマンス