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

Linuxで開くファイルの数の制限を増やす方法

Linuxでは、開いているファイルの最大量を変更できます。 ulimit を使用して、この番号を変更できます 指図。これにより、シェルまたはシェルによって開始されるプロセスで使用可能なリソースを制御できるようになります。

関連項目: ユーザーごとのレベルでLinux実行プロセスの制限を設定する

この短いチュートリアルでは、開いているファイルの現在の制限とファイルの説明を確認する方法を示しますが、そのためには、システムへのrootアクセス権が必要です。

まず、Linuxシステムで開かれているファイル記述子の最大数を見つける方法を見てみましょう。

Linuxのオープンファイル制限を見つける

値は次の場所に保存されます:

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

818354

表示される数は、ユーザーがログインセッションごとに開くことができるファイルの数を示しています。システムによって結果が異なる場合があります。

たとえば、 CentOS 私のサーバーでは、制限は 818354に設定されました 、 Ubuntuにいる間 自宅で実行しているサーバーのデフォルトの制限は176772に設定されていました 。

ハード制限とソフト制限を確認する場合は、次のコマンドを使用できます。

Linuxでハード制限を確認する

# ulimit -Hn

4096

Linuxのソフト制限を確認する

# ulimit -Sn

1024

さまざまなユーザーのハード値とソフト値を確認するには、「su」でユーザーを切り替えるだけです。 チェックしたい制限のあるユーザーに。

例:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Linuxでシステム全体のファイル記述子の制限を確認する方法

サーバーを実行している場合、一部のアプリケーションでは、開いているファイル記述子に対してより高い制限が必要になる場合があります。その良い例はMySQL/ MariaDB です サービスまたはApache Webサーバー。

Linuxで開くファイルの制限を増やすには、カーネルディレクティブfs.file-maxを編集します。 。そのために、 sysctlを使用できます ユーティリティ。

Sysctl 実行時にカーネルパラメータを設定するために使用されます。

たとえば、開いているファイルの制限を 500000に増やすには 、rootとして次のコマンドを使用できます:

# sysctl -w fs.file-max=500000

次のコマンドを使用して、開いているファイルの現在の値を確認できます。

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

上記のコマンドを使用すると、行った変更は次の再起動までアクティブのままになります。それらを永続的に適用する場合は、次のファイルを編集する必要があります。

# vi /etc/sysctl.conf

次の行を追加します:

fs.file-max=500000

もちろん、必要に応じて数を変更することができます。変更を再度確認するには、次を使用します:

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

変更を有効にするには、ユーザーはログアウトして再度ログインする必要があります。制限をすぐに適用する場合は、次のコマンドを使用できます。

# sysctl -p

Linuxでのユーザーレベルのオープンファイル制限の設定

上記の例は、グローバル制限を設定する方法を示していますが、ユーザーごとに制限を適用することもできます。そのためには、ユーザーrootとして、次のファイルを編集する必要があります。

# vi /etc/security/limits.conf

Linux管理者の場合は、そのファイルとそのファイルに対して何ができるかをよく理解しておくことをお勧めします。さまざまなレベルでユーザー/グループを制限することにより、システムリソースの管理に関して優れた柔軟性を提供するため、その中のすべてのコメントをお読みください。

追加する必要のある行は、次のパラメーターを取ります。

<domain>        <type>  <item>  <value>

これは、ユーザー marinにソフト制限とハード制限を設定する例です。 :

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

最終的な考え

この簡単な記事では、開いているファイルの最大数についてグローバルレベルとユーザーレベルの制限を確認および構成する方法の基本的な例を示しました。

表面をかじったばかりですが、 /etc/sysctl.conf について詳しく見て、読むことを強くお勧めします。 および/etc/security/limits.conf そしてそれらの使い方を学びます。いつかあなたの助けになるでしょう。


Linux
  1. Linuxでディスクiノード数を増やす方法

  2. Linuxでファイルの名前を変更する方法

  3. LinuxでAppimageを開く方法

  1. Linuxで複数のファイルを圧縮する方法

  2. Linux – Maxsymlinksを増やす方法は?

  3. Ubuntuでオープンファイルの制限を増やす方法は?

  1. Linuxでファイルを見つける方法

  2. UbuntuLinuxでISOファイルを開く方法

  3. Linux で許可されているオープン ファイルの最大数