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

CentOS / RHEL 6 :cgroups を使用して特定のユーザーのメモリ リソースを制限する方法

コントロール グループ (strong>cgroups ) コンピューティング リソースを特定のプロセスまたはタスクに割り当てることができます。 CPU とメモリのセットを特定のタスク グループまたは特定のユーザーに割り当てることができます。ここの投稿では、定義されたメモリ リソースを特定の用途に割り当てる手順について詳しく説明しています。 ulimit はプロセスごとのユーザー メモリ消費を制限するため、この目標を達成することはできません。最善の選択肢は、cgroup を使用することです。 cgroups を使用すると、ユーザーはメモリ リソースだけでなく、CPU/IO にも制限できます。ユーザー「john」が使用するメモリを 100MB に制限する例を見てみましょう。

特定のユーザーのメモリを制限する

1. cgroups 設定ファイル /etc/cgconfig.conf を編集します 以下の行を追加します

# vi /etc/cgconfig.conf
group memlimit {
	memory {
		memory.limit_in_bytes = 104857600;    #### limit memory to 100MB
	}
}

上記のコードは memlimit という名前の cgroup を作成します 制限は 100 mb です .

2. 別のファイル /etc/cgrules.conf を編集します。 以下の行を追加します:

# vi /etc/cgrules.conf
john memory memlimit

これにより、ユーザー john が memlimit cgroup に追加され、システムから 100 MB しか取得できないことが cgroup に通知されます。

3. 構成ファイルの編集が完了したら、サービス cgred を再起動します。 と cgconfig .

# service cgred restart
# service cgconfig restart
cgconfig (コントロール グループ構成) サービス – cgroup の作成とサブシステムの管理に使用
cgred (コントロール グループ ルール エンジン デーモン) サービス – /etc/cgrules.conf ファイルに設定されたパラメーターに従って、タスクを cgroup に移動するために使用されます。

4. システムの起動時に両方のサービスを開始できるようにします。これにより、構成ファイル /etc/cgconfig.conf および /etc/cgrules.conf が起動時に読み込まれ、cgroup が作成されるようにします。

# chkconfig cgred on
# chkconfig cgconfig on


Linux
  1. CentOS / RHEL 6,7 で NUMA を無効にする方法

  2. cgroup を使用して CentOS/RHEL で一部のユーザー メモリ リソースを制限する方法

  3. CentOS / RHEL :特定のコマンドを実行しているユーザーを見つける方法は?

  1. CentOS / RHEL :ユーザーのログイン シェルを変更する方法

  2. CentOS / RHEL :root 以外のユーザーに対して ssh を無効にする方法 (root ユーザーに対してのみ ssh を許可する)

  3. CentOS / RHEL :特定のグループのみに SFTP を Chroot Jail に設定する方法

  1. CentOS / RHEL :vsftp の chroot jail を特定のユーザーのみに設定する方法

  2. Cを使用して特定のメモリアドレスを取得する方法

  3. systemd によって管理されるサービスのメモリを制限する方法