sudo:ulimit:コマンドが見つかりません。

sudo:ulimit:コマンドが見つかりません。

Ubuntu 12.04で実行すると、ulimit -n1024が表示されます。開いたファイルの制限を1024から65535に増やしたいので、次のコマンドを試しました。

sudo ulimit -n 65535

ただし、次のエラーが発生します。

sudo: ulimit: command not found

ファイル制限を1024から65535に増やす方法は?

答え1

制限はプロセスによって異なります。ulimitこれはシェルに組み込まれており、このシェルとこのシェルで開始されたプロセスの制限のみを変更できます。sudo ulimit無意味。失敗しなくても、sudo同時に開始されたプロセスにのみ影響し、他のプロセスには影響しません。新しいセッション(ユーザールート用)を作成してすぐに終了するため、現在のセッションの制限を変更することはできません。

制限をハード制限以上に上げるには、次の値を上げる必要があります。グローバルハード制限みんなユーザーまたはその他の制限設定特定ユーザー。これらの制限は/etc/security/limits.conf(または)で定義されています/etc/security/limits.d/。このファイルを編集し、ユーザーの新しいエントリを作成します。

sunpy             hard    nofile           65535

ファイルを保存して新しいセッションを開きます。その後、新しいセッションを呼び出すと、ulimit -Hn新しいセッションが表示されます。硬い開いているファイルの数を制限します。使用するために硬い制限があるため、電流を増やす必要があります。柔らかい限られた硬いに電話して制限してくださいulimit -n 65535

もちろん、あなたも変更することができます柔らかい永久制限を指定して柔らかい変える硬いあなたの/etc/security/limits.conf。これにより、ソフト制限を手動で上げる必要がなくなりますが、新しい制限が各セッションに適用されます。

ああ、そしてこの回答によると以下を編集して追加する必要があるようです/etc/pam.d/common-session*

session required pam_limits.so

まだ完了していない場合。それ以外の場合、これらの制限はセッションに適用されません。

関連情報