web-dev-qa-db-ja.com

Solaris 10でulimitsを設定する方法

通常、pam_limits.so/etc/security/limits.confを使用して、Ubuntuを実行しているサーバーにログインする通常のユーザーに対して、ファイルサイズやCPU時間などに limits を設定します。 Solaris 10で同様のことを行う最良の方法は何ですか?

それは/etc/systemを使用して行われたと思いますが、ファイルに何を追加するか、実際にそれが正しいファイルかどうかはわかりません。 ulimit -fルートを下ることなく.profileをセットアップすることに特に興味があります。

7
James Bradley

Solarisでは、このパラメーターをシステム全体のハード制限またはソフト制限に設定できますOR特定のアプリケーションに対して同じことを実行できるため、実行時に正しい数のオープンファイル記述子を使用できます。 -時空間。

これをシステム全体の変更にするには、/etc/systemを次のエントリで編集します

# Hard limit on file descriptors for single process
set rlim_fd_max = 4096

# Soft limit on the file descriptors for a single process
set rlim_fd_cur = 1024

注:上記のようにrlim_fd_maxを設定しない場合、ファイル記述子またはnofilesのデフォルト値はrlim_fd_cur値の半分になります。したがって、両方を設定することをお勧めします。

OracleデータベースのようなアプリケーションスペースにSolarisプロジェクトを使用している場合は、次の方法でプロジェクトの最大ファイル記述子を設定できます。

projadd -U Oracle -K “process.max-file-descriptor=(priv,4096,deny)” user.Oracle

また、ulimitを使用して、アプリケーションの所有者のシェルスタートアップファイルで直接設定することもできます。たとえば、Webサーバーの所有者の.profileulimitulimit -s 32768に設定し、起動/シャットダウンスクリプトからそれを呼び出すことで、最大ファイル記述子を確立できます。

ご覧のとおり、これには多くのオプションと方法があります。

5
netlinxman

Plimitについても言及する価値があります。これにより、すでに実行中のプロセスの制限を表示または設定できます。


# plimit 7028
7028:   /usr/lib/gconfd-2 18
   resource              current         maximum
  time(seconds)         unlimited       unlimited
  file(blocks)          unlimited       unlimited
  data(kbytes)          unlimited       unlimited
  stack(kbytes)         10240           unlimited
  coredump(blocks)      unlimited       unlimited
  nofiles(descriptors)  512             65536
  vmemory(kbytes)       unlimited       unlimited
3
Twirlip

webサーバーの所有者の.profileでulimitをulimit -s 32768に設定することにより、最大ファイル記述子を確立することが可能です。

ulimit -n 32768-正しい

2
blacksaifer

このリンクは興味深いかもしれません: オペレーティングシステムのチューニング

1

This リンクには、Solaris 10の「プロジェクト」の使用方法に関する詳細情報があります。

これ PDFは、1つのファイルにすべての部分が含まれています。この質問に関連するものは、59ページにあります。

1
Not Now