通常、pam_limits.so
と/etc/security/limits.conf
を使用して、Ubuntuを実行しているサーバーにログインする通常のユーザーに対して、ファイルサイズやCPU時間などに limits を設定します。 Solaris 10で同様のことを行う最良の方法は何ですか?
それは/etc/system
を使用して行われたと思いますが、ファイルに何を追加するか、実際にそれが正しいファイルかどうかはわかりません。 ulimit -f
ルートを下ることなく.profile
をセットアップすることに特に興味があります。
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サーバーの所有者の.profile
のulimit
をulimit -s 32768
に設定し、起動/シャットダウンスクリプトからそれを呼び出すことで、最大ファイル記述子を確立できます。
ご覧のとおり、これには多くのオプションと方法があります。
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
webサーバーの所有者の.profileでulimitをulimit -s 32768に設定することにより、最大ファイル記述子を確立することが可能です。
ulimit -n 32768-正しい
このリンクは興味深いかもしれません: オペレーティングシステムのチューニング