Ubuntu 12.04ではulimit -n
、1024を表示しています。開いているファイルの制限を1024から65535に増やしたいので、次のコマンドを試しました。
Sudo ulimit -n 65535
しかし、私は次のエラーを受け取ります:
Sudo: ulimit: command not found
ファイル制限を1024から65535に増やすにはどうすればよいですか?
制限はプロセス固有です。 ulimit
はシェルの組み込みであり、このシェルとこのシェルから開始されたプロセスの制限のみを変更できます。 Sudo ulimit
は意味がありません。失敗しない場合でも、Sudo
によって同時に開始されたプロセスにのみ影響し、何も起こりません。
ハード制限を超えて制限を引き上げるには、globalallユーザーのハード制限を引き上げるか、またはspecificに別の制限を設定する必要があります=ユーザー。これらの制限は/etc/security/limits.conf
(または/etc/security/limits.d/
)で定義されています。このファイルを編集して、ユーザーの新しいエントリを作成します。
sunpy hard nofile 65535
ファイルを保存して、新しいセッションを開きます。その後、新しいセッション内でulimit -Hn
を呼び出すと、開いているファイル数の新しいhard制限が表示されます。 hard制限を使用するには、ulimit -n 65535
を呼び出して、現在のsoft制限をhard制限に引き上げる必要があります。
もちろん、/etc/security/limits.conf
でhardの代わりにsoftを指定することにより、soft制限を永続的に変更することもできます。その後、手動でソフト制限を引き上げる必要はありませんが、新しい制限が各セッションに適用されます。
ああ、そして この回答によれば/etc/pam.d/common-session*
を編集して追加する必要があるようです:
session required pam_limits.so
まだ行われていない場合。それ以外の場合、これらの制限はセッションに適用されません。