回答:
CentOS / RHELの新しいカーネル(2.6.32+)では、実行時に/ proc / <pid> / limitsでこれを変更できます。
cd /proc/7671/
[root@host 7671]# cat limits | grep nice
Max nice priority 0 0
[root@host 7671]# echo -n "Max nice priority=5:6" > limits
[root@host 7671]# cat limits | grep nice
Max nice priority 5 6
ここで文書化されているように、prlimit
util-linux 2.21で導入されたコマンドを使用すると、実行中のプロセスの制限を読み取り、変更できます。
これは、/proc/<pid>/limits
メインラインカーネルに統合されていなかったwritableのフォローアップです。このソリューションは動作するはずです。
prlimit(1)
まだお持ちでない場合は、prlimit(2)
マンページで最小限のバージョンのコードを見つけることができます。
util-linux-ngの新しいバージョンでは、prlimitコマンドを使用できます。詳細については、このリンクを読んでください/superuser/404239/setting-ulimit-on-a-running-process
あなたはulimitを試すことができます man ulimit
-nオプションを使用してをますが、magページではほとんどのOSではこれを設定できません。
を使用してシステム全体のファイル記述制限を設定し、sysctl -w fs.file-max=N
起動後も変更を永続化できます。/etc/sysctl.conf
ただし、プロセスを見て、特定の時間に非常に多くのファイルを開く必要があるかどうか、実際にいくつかのファイルを閉じてプロセスを効率化できるかどうかを確認することもお勧めします。
ulimit
実行中のプロセスに設定を適用しません。