Linux を使用してシステム リソースの制限と制御を行う方法

PHPz
リリース: 2023-08-02 14:14:42
オリジナル
1912 人が閲覧しました

Linux を使用してシステム リソースを制限および制御する方法

Linux システムでは、システムの安定性とセキュリティを確保するために、システム リソースを制限および制御する必要があることがよくあります。この記事では、Linux の組み込みリソース制御メカニズムを使用して、システム リソースの使用を制限および制御する方法を紹介します。ここでは、一般的に使用される 2 つのツール、cgroup (コントロール グループ) と ulimit とその使用例に焦点を当てます。

1. cgroup

cgroup は、Linux カーネルによって提供されるリソース管理メカニズムであり、これを通じてプロセスをまとめて編成し、これらのプロセス グループのリソースを制限および制御できます。 cgroup は、CPU、メモリ、I/O などのシステム リソースの使用を制御および制限できます。

  1. cgroup ツールのインストール

まず、cgroup ツールをインストールする必要があります。ほとんどの Linux ディストリビューションでは、次のコマンドを使用してインストールできます:

sudo apt-get install cgroup-tools
ログイン後にコピー
  1. Create cgroup

cgcreate コマンドを使用して cgroup を作成できます。たとえば、create です。 a cgroup という名前 mygroup の cgroup の場合:

sudo cgcreate -g cpu,memory:mygroup
ログイン後にコピー

上記のコマンドは、mygroup という名前の cgroup を作成し、その上の CPU とメモリの両方を制限します。

  1. cgroup リソース制限の設定

次に、cgroup リソース制限を設定する必要があります。たとえば、CPU がタイム スライスの最大 50% を使用するように制限し、メモリが最大 1GB のメモリを使用するように制限します。

sudo cgset -r cpu.cfs_quota_us=50000 -r memory.limit_in_bytes=1G mygroup
ログイン後にコピー

上記のコマンドは、mygroup の CPU が使用するメモリを制限します。タイム スライスの最大 50%、メモリ使用量を最大 1 GB のメモリに制限します。

  1. プロセスを cgroup に追加

最後に、cgclassify コマンドを使用して、指定した cgroup にプロセスを追加できます。たとえば、プロセス PID 12345 のプロセスを mygroup に追加します。

sudo cgclassify -g cpu,memory:mygroup 12345
ログイン後にコピー

これで、プロセス PID 12345 のプロセスは、mygroup のリソース制限の対象になります。

2. ulimit

cgroup に加えて、Linux は別の強力なリソース制御ツール ulimit も提供します。 ulimit を使用すると、1 人のユーザーが使用できるシステム リソースを制限できます。

  1. 現在のリソース制限の表示

ulimit コマンドを使用して、現在のリソース制限設定を表示できます。たとえば、現在のユーザーが使用できる最大ファイル サイズ制限を表示するには、次のようにします。

ulimit -f
ログイン後にコピー
  1. リソース制限の設定

リソース制限を設定するには、ulimit コマンドを使用できます。たとえば、最大ファイル サイズ制限を 1GB に設定するには:

ulimit -f 1000000000
ログイン後にコピー

上記のコマンドは、最大ファイル サイズ制限を 1GB に設定します。

さらに、ulimit コマンドを使用して、CPU 時間、メモリ、開いているファイルの数など、他のリソース制限を設定することもできます。

  1. リソース制限を永続的に変更する

ulimit コマンドで設定したリソース制限は、現在のセッションでのみ有効です。セッションが終了すると、設定は無効になります。リソース制限を永続的に変更したい場合は、システム構成ファイル /etc/security/limits.conf を変更できます。

たとえば、開いているファイルの最大数を 10000 に変更する場合は、次の設定を /etc/security/limits.conf に追加できます。

*    hard    nofile    10000
ログイン後にコピー

上記の設定は、開いているファイルの最大数を変更する 制限は 10000 に変更されます。

結論

この記事では、Linux を使用してシステム リソースの制限と制御を行う方法を紹介します。一般的に使用される 2 つのツール、cgroup と ulimit に焦点を当て、対応する使用例を示しました。これらのツールを合理的に使用することで、システム リソースの使用を効果的に制御し、システムの安定性とセキュリティを確保できます。この記事が、Linux を使用してシステム リソースを制限および制御する読者にとって役立つことを願っています。

参考文献:

  • https://www.man7.org/linux/man-pages/man7/cgroups.7.html
  • https:/ / www.man7.org/linux/man-pages/man2/setrlimit.2.html
  • https://linux.die.net/man/1/ulimit

以上がLinux を使用してシステム リソースの制限と制御を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!