Linuxは強力で効率的なオペレーティングシステムですが、高いRAMおよびCPU使用率はパフォーマンスを低下させ、アプリケーションの動作を遅くし、システムのクラッシュを引き起こす可能性があります。サーバー、ワークステーション、または組み込みシステムを実行している場合、リソースの使用を最適化することはスムーズな動作のために不可欠です。
このガイドでは、Linux上のRAMおよびCPU使用率を低減するための実用的な方法を探ります。私たちは監視ツール、プロセス管理、カーネルの調整、およびシステムの最適化技術について説明します。
1. リソース消費プロセスの特定
RAMおよびCPU使用率を低減する最初のステップは、複数のコマンドラインツールを使用して最も多くのリソースを消費しているプロセスを特定することです:
a. topコマンドの使用
topコマンドはCPUおよびメモリ使用量を含むシステムプロセスのリアルタイムビューを提供します。
top
- プロセスをCPU使用率でソートするには
P
を押します。 - プロセスをメモリ使用率でソートするには
M
を押します。 - 過剰なリソースを消費しているプロセスを探し、そのプロセスID(PID)をメモしてください。

b. htopコマンド
htopは、top
よりもユーザーフレンドリーなインターフェースを提供するインタラクティブなプロセスビューアです。
htopをLinuxにインストールするには、特定のLinuxディストリビューションに応じた適切なコマンドを使用してください。
sudo apt install htop [On Debian, Ubuntu and Mint] sudo dnf install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [On Gentoo Linux] sudo apk add htop [On Alpine Linux] sudo pacman -S htop [On Arch Linux] sudo zypper install htop [On OpenSUSE] sudo pkg install htop [On FreeBSD]
プロセスを簡単に表示および管理するには、htop
を実行してください。
htop
- プロセスをCPUまたはメモリ使用量でソートするには、
F6
を押します。 - 選択したプロセスを終了するには、
F9
を押します。

c. psコマンドの使用
psコマンドを使用して、プロセスとそのリソース使用量をリスト表示できます。
ps aux --sort=-%mem | head # Top memory-consuming processes ps aux --sort=-%cpu | head # Top CPU-consuming processes

2. 不要なプロセスの終了
リソースを大量に消費しているプロセスを特定したら、killコマンドを使用してそれらを終了させ、リソースを解放します。後にPIDを続けます。
kill PID
プロセスが終了しない場合は、-9
フラグを使用して強制終了します。
kill -9 PID
あるいは、pkillコマンドを使用して、名前でプロセスを終了させます。
pkill process_name
3. スタートアップアプリケーションの最適化
多くのアプリケーションやサービスが起動時に自動的に開始され、貴重なシステムリソースを消費しています。
スタートアップアプリケーションを管理するためには、
a. systemctlコマンドを使用して
systemctlコマンドを使用して有効化されているすべてのサービスをリストアップします。
systemctl list-unit-files --type=service | grep enabled
不要なサービスを無効にします。
sudo systemctl disable service_name

b. GUIツールを使用して
GNOMEやKDEなどのデスクトップ環境を使用している場合は、組み込みのスタートアップアプリケーションマネージャを使用して不要なプログラムを無効にします。
4. スワップの最適化
スワップの使用頻度を制御するスワッピネスは、システムがRAMの代わりにスワップスペースを使用する頻度を示します。高いスワッピネス値は過剰なスワッピングを引き起こし、システムの動作を遅くする可能性があります。
現在のスワッピネス値を確認するには、
cat /proc/sys/vm/swappiness
デフォルトの値は通常60
ですが、スワッピネスを減らすには/etc/sysctl.conf
ファイルを編集する必要があります。
sudo nano /etc/sysctl.conf
以下の行を追加または変更します。
vm.swappiness=10
ファイルを保存し、変更を適用します。
sudo sysctl -p
5. 軽量なデスクトップの代替を使用する
重いデスクトップ環境やアプリケーションはシステムリソースに負荷をかけるため、軽量な代替を検討してください。
a. デスクトップ環境
GNOMEまたはKDEをXFCE、LXDE、MATEなどの軽量なオプションに置き換えてください。
b. アプリケーション
以下のような軽量なアプリケーションを使用してください:
- テキストエディタ: LibreOfficeをAbiWordやMousepadに置き換えてください。
- ウェブブラウザ:拡張機能を少なくしたFirefoxを使用するか、Midoriのような軽量なブラウザに切り替えてください。
- ファイルマネージャ: NautilusをThunarやPCManFMに置き換えてください。
6. キャッシュとバッファのクリア
Linuxはファイルをキャッシュしてパフォーマンスを向上させるためにRAMを使用します。ただし、必要に応じてキャッシュを手動でクリアできます:
sudo sync; sudo sysctl -w vm.drop_caches=3
このコマンドはpagecache、デントリ、inodeをクリアします。ファイルアクセスの一時的な遅延が発生する可能性があるため、注意して使用してください。
7. カーネルパラメータの最適化
カーネルパラメータを調整または最適化するには、/etc/sysctl.conf
ファイルを編集し、以下を追加するかパラメータを調整してシステムのパフォーマンスを向上させてください。
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
これらの設定は、dirtyデータがディスクに書き込まれる頻度を制御し、RAMの使用量を減らします。
8. ZRAMを使用したメモリ使用量の削減
ZramとZswapはRAMの使用量を減らすことができる圧縮メモリ技術です。
sudo apt install zram-config sudo systemctl start zram-config
インストール後、GRUB構成ファイル(/etc/default/grub
)を編集し、以下を追加する必要があります:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
GRUBを更新して再起動してください:
sudo update-grub sudo reboot
9. プロセスのCPU使用率の制限
プロセスがCPUを占有している場合は、cpulimitを使用してその使用量を制限します。
sudo apt install cpulimit # Debian/Ubuntu sudo yum install cpulimit # RHEL/CentOS
プロセス(例:firefox)のCPU使用率を30%に制限します。
sudo cpulimit -e firefox -l 30
プロセスを永続的に制限するには、systemdを使用します。
sudo systemctl set-property <service_name> CPUQuota=30%
10. システムを定期的に更新する
システムを最新のパフォーマンス改善とバグ修正が適用された状態に保つことが重要です。
sudo apt update && sudo apt upgrade # For Debian/Ubuntu sudo yum update # For CentOS/RHEL
トラブルシューティングのヒント
- プロセスが
kill
で終了しない場合は、kill -9 PID
を使用して強制終了します。 zram
やzswap
が機能しない場合は、カーネルがこれらの機能をサポートしているか確認してください。- システムのパフォーマンスが改善されない場合は、ハードウェアのアップグレード(例:RAMの追加やSSDへの切り替え)を検討してください。
結論
LinuxでのRAMとCPUの使用量を最適化するには、監視、調整、そして必要に応じてハードウェアをアップグレードする必要があります。リソースを多く消費するプロセスを特定し、システムの設定を調整し、軽量な代替手段を選択することで、システムに新たな息吹を吹き込むことができます。
これらの最適化テクニックを試しましたか?以下のコメントで体験を共有するか、より多くのLinuxガイドやチュートリアルをご覧になるには、Tecmint.comを訪れてください。
Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/