Linux を使用してシステム リソースを制限および制御する方法
Linux システムでは、システムの安定性とセキュリティを確保するために、システム リソースを制限および制御する必要があることがよくあります。この記事では、Linux の組み込みリソース制御メカニズムを使用して、システム リソースの使用を制限および制御する方法を紹介します。ここでは、一般的に使用される 2 つのツール、cgroup (コントロール グループ) と ulimit とその使用例に焦点を当てます。
1. cgroup
cgroup は、Linux カーネルによって提供されるリソース管理メカニズムであり、これを通じてプロセスをまとめて編成し、これらのプロセス グループのリソースを制限および制御できます。 cgroup は、CPU、メモリ、I/O などのシステム リソースの使用を制御および制限できます。
まず、cgroup ツールをインストールする必要があります。ほとんどの Linux ディストリビューションでは、次のコマンドを使用してインストールできます:
sudo apt-get install cgroup-tools
cgcreate コマンドを使用して cgroup を作成できます。たとえば、create です。 a cgroup という名前 mygroup の cgroup の場合:
sudo cgcreate -g cpu,memory:mygroup
上記のコマンドは、mygroup という名前の cgroup を作成し、その上の CPU とメモリの両方を制限します。
次に、cgroup リソース制限を設定する必要があります。たとえば、CPU がタイム スライスの最大 50% を使用するように制限し、メモリが最大 1GB のメモリを使用するように制限します。
sudo cgset -r cpu.cfs_quota_us=50000 -r memory.limit_in_bytes=1G mygroup
上記のコマンドは、mygroup の CPU が使用するメモリを制限します。タイム スライスの最大 50%、メモリ使用量を最大 1 GB のメモリに制限します。
最後に、cgclassify コマンドを使用して、指定した cgroup にプロセスを追加できます。たとえば、プロセス PID 12345 のプロセスを mygroup に追加します。
sudo cgclassify -g cpu,memory:mygroup 12345
これで、プロセス PID 12345 のプロセスは、mygroup のリソース制限の対象になります。
2. ulimit
cgroup に加えて、Linux は別の強力なリソース制御ツール ulimit も提供します。 ulimit を使用すると、1 人のユーザーが使用できるシステム リソースを制限できます。
ulimit コマンドを使用して、現在のリソース制限設定を表示できます。たとえば、現在のユーザーが使用できる最大ファイル サイズ制限を表示するには、次のようにします。
ulimit -f
リソース制限を設定するには、ulimit コマンドを使用できます。たとえば、最大ファイル サイズ制限を 1GB に設定するには:
ulimit -f 1000000000
上記のコマンドは、最大ファイル サイズ制限を 1GB に設定します。
さらに、ulimit コマンドを使用して、CPU 時間、メモリ、開いているファイルの数など、他のリソース制限を設定することもできます。
ulimit コマンドで設定したリソース制限は、現在のセッションでのみ有効です。セッションが終了すると、設定は無効になります。リソース制限を永続的に変更したい場合は、システム構成ファイル /etc/security/limits.conf を変更できます。
たとえば、開いているファイルの最大数を 10000 に変更する場合は、次の設定を /etc/security/limits.conf に追加できます。
* hard nofile 10000
上記の設定は、開いているファイルの最大数を変更する 制限は 10000 に変更されます。
結論
この記事では、Linux を使用してシステム リソースの制限と制御を行う方法を紹介します。一般的に使用される 2 つのツール、cgroup と ulimit に焦点を当て、対応する使用例を示しました。これらのツールを合理的に使用することで、システム リソースの使用を効果的に制御し、システムの安定性とセキュリティを確保できます。この記事が、Linux を使用してシステム リソースを制限および制御する読者にとって役立つことを願っています。
参考文献:
以上がLinux を使用してシステム リソースの制限と制御を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。