CentOS 7にCPULimitをインストールして使用する方法

CPULimitは、アプリケーションのリソース使用量を制限するために提供されるLinuxユーティリティです。単一のアプリケーションが他のアプリケーションの速度を低下させないようにする場合に役立ちます。または、アプリケーションがコア全体を長期間使用しないようにします。

そうは言っても、CPU使用率(平均として表される)を下げるために一定間隔でプロセスを(本質的に)開始/停止するため、CPULimitはすべてのアプリケーションで機能するわけではありません。これについては、次のセクションで説明します。

それはどのように機能しますか?

CPULimitは、たとえばジョブ制御を使用するアプリケーションで動作するようには設計されていません。CPULimitが停止(SIGSTOP)信号を送信すると、それらが強制終了される可能性があるためです。要するに、プログラムを望ましいサイクル数に制限するために、アプリケーションは迅速にオン/オフされます。

ただし、心配する必要はありません。ほとんどのアプリケーションが機能します。制限できるアプリケーションには、PHP、Java、Nginxなどがあります。

前提条件

CPULimitを正常にインストールするには、以下が必要です。

  • CentOS 7を実行しているサーバー(64ビットシステムのみ)。
  • makescreenおよびwget
  • ルートアクセスまたはsudo権限。

CPULimitのインストール

すべての前提条件がインストールされていると仮定すると、インストールプロセスを簡単に実行できるはずです。最初に、CPULimitをダウンロードしてtarballを抽出する必要があります。

cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz

tarballの抽出が完了すると、新しく作成したディレクトリに入り、CPULimitのコンパイルを開始できます。

cd cpulimit-2.5

次に、実行makeしてCPULimitをバイナリにコンパイルし始めます。

make

このプロセスが完了すると、cpulimit-2.5ディレクトリにバイナリが作成されます。システム全体で使用できるようにするには、以下のコマンドを実行する必要があります。

make install

完了するまでに時間がかかる場合があります。

アプリケーションでのCPULimitの構成

CPULimitを使用するには、プロセスIDを知る必要があります。これはとして知られていPIDます。を使用topすると、プロセスのリストを表示できます。

top -c

プロセスのリストが表示され、次のようになります。

Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3881740 total,   191952 free,   413472 used,  3276316 buff/cache
KiB Swap:  4063228 total,  4062912 free,      316 used.  2881364 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1336 plex      35  15 1368172  67464   6668 S   0.3  1.7 155:41.58 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-995f1dead+
31345 root      20   0  326572  21844  12784 S   0.3  0.6  86:45.32 docker-containerd --config  /var/run/docker/containerd/containerd.toml
    1 root      20   0  193704   6744   4088 S   0.0  0.2   6:49.22 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    2 root      20   0       0      0      0 S   0.0  0.0   0:01.45 [kthreadd]
    3 root      20   0       0      0      0 S   0.0  0.0   0:12.77 [ksoftirqd/0]
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]
    7 root      rt   0       0      0      0 S   0.0  0.0   0:13.95 [migration/0]

plexたとえば、を制限したい場合、PIDに注意する必要があります。この場合は1336です。plexCPUの15%に制限する場合は、を作成しscreenて実行する必要がありますcpulimit

screen -S limitcpu
cpulimit -p 1336 -l 15

画面を終了するには、次の組み合わせを使用します:CTRL+ A+ D。終了して画面に入るには、次のコマンドを実行します。

screen -r limitcpu

実行cpulimitする一般的な形式は次のとおりです。

cpulimit -p (PROCESS PID) -l (CPU %)

PROCESS PIDはプロセスIDでCPU %あり、CPUの制限です。

CPULimitのアンインストール

CPULimitの削除は簡単です。次のコマンドを実行します。

cd ~/cpulimit-2.5
make deinstall


Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。