すべてのプロセスの開いているファイルの制限を増やすにはどうすればよいですか?


32

私はulimitを使用できますが、それは私のシェルセッションにのみ影響すると思います。すべてのプロセスの制限を増やしたい。これはRed Hatにあります。


ところで、Red Hatのどのバージョンですか?RHEL5?
mattdm

回答:


26

ジャスティンの答えは、どのように利用可能なオープンファイルの数を高める方法を説明しますトータルシステム全体に。しかし、ユーザーごとの制限をグローバルに引き上げる方法を求めていると思います。その答えは、次の行をに追加することです/etc/security/limits.conf

*               soft    nofile            2048
*               hard    nofile            2048

(*はすべてのユーザーを意味します。)

そのファイル自体とにいくつかの要約ドキュメントがありますman limits.conf。これは、でpam_limits.so設定されたさまざまなサービスに対して呼び出されるモジュールを介して実装され/etc/pam.d/ます。

そして、私は認めなければならない、私はその1024のデフォルトがどこから来るのか分かりません。そして私を信じて、私は見た。pam_limitsモジュールを設定せずに試しましたが、まだそこにあります。どこかにハードコーディングする必要がありますが、どこにあるのか正確にはわかりません。


2
うーん...私はこれを適切に設定します。SSHを終了して戻って来て、私のソフト制限はまだ1024に設定されています。この「アクティブ」にするために足りないものはありますか?ありがとう。
ジョシュアピンター

@mattdm-一部のLinuxディストリビューションでは、言及されたファイルは以下のようになります:/etc/limits.conf
Guy Avraham

13

Linuxが開くファイル/ファイル記述子(FD)の最大数を増やすという記事によると、にエントリを追加することにより、開いているファイルの制限を増やすことができます/etc/sysctl.conf

次のように構成ディレクティブを追加します。

fs.file-max = 100000

次に、ファイルを保存して閉じます。変更を有効にするには、ユーザーはログアウトして再度ログインする必要があります。または、次のコマンドを入力するだけです。

# sysctl -p

次のコマンドで設定を確認することもできます。

# cat /proc/sys/fs/file-max

システム全体でのこの特定の設定では、ログアウトして再度ログインする必要があることに懐疑的です。(それはsysctlのほとんどすべてに
当てはまり

13

Linuxで開くulimitファイルの最大数を増やす

1.ステップ:を開き、sysctl.conf この行を追加します fs.file-max = 65536

$ vi /etc/sysctl.conf

新しい行を追加し、

fs.file-max = 65536

保存して終了。

2.ステップ:

$ vi /etc/security/limits.conf

そして、言及した以下を追加します

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

保存して、最大オープンファイルのチェックを終了します ulimit

# ulimit -a

....
open files                      (-n) 65535

6

ただし、MariaDBなどのサービスsystemdを使用)のオープンファイルの最大数を増やしたい場合は、ファイル.serviceで直接行う必要があります。

/lib/systemd/system/<servicename>.service

このようなものになります:

[Unit]
Description=Some Daemon
After=syslog.target network.target

[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon

[Install]
WantedBy=multi-user.target

完全な答えはこちら:CentOS 7でsystemdによって起動されたプロセスのnprocを増やす


systemdLinuxエコシステム全体で、ユビキタスと進行中の変更が増加しているため、これを支持する必要があります。ただし、cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/パッケージによって提供されるシステム全体のサービスファイルではなく、回答を編集してそのファイルを変更することをお勧めします。
ILMostro_7

3

補足:

configは別の場所にあります: /etc/security/limits.d/*.conf

変更しなければなりませんでした。それなしでは機能しませんでした。形式は次と同じですlimits.conf


また、CentOSサーバーを完全に使用するには、このファイルを更新する必要がありました。
ジョンEisbrener
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.