タグ付けされた質問 「ulimit」

ulimitコマンドで設定できるリソース制限に関するすべて

1
(最新の)Linuxでは 'ulimit -m'は機能しませんか?
この記事は、最新のLinuxでは何もしないという-m旗を掲げてulimitいます。この主張を裏付けるものは他にありません。正確ですか? 最大常駐セットサイズ(ulimit -m)を設定して、プロセスのメモリ使用量を制限しようとする場合があります。これはLinuxには影響しません。man setrlimitは、以前のバージョンでしか機能しなかったと述べています。代わりに、仮想メモリの最大量を制限する必要があります(ulimit -v)。 Linuxの古いバージョンで機能したことが本当なら、どのバージョンがこれをサポートしなくなったのですか?

2
/etc/security/limits.confは適用されません
私は持っています/etc/security/limits.conf、それは適用されていないようです: a soft nofile 1048576 # default: 1024 a hard nofile 2097152 a soft noproc 262144 # default 128039 a hard noproc 524288 aユーザー名はどこにありますか。実行するulimit -Hnとulimit -Sn、次のように表示されます。 4096 1024 /etc/security/limits.d内容は次の1つだけです。 scylla - core unlimited scylla - memlock unlimited scylla - nofile 200000 scylla - as unlimited scylla - nproc 8096 私はそれらの値を追加して/etc/security/limits.conf再起動してみました: …
11 limit  ulimit 

2
このメモリの問題を適切に解決するにはどうすればよいですか?
私は標準のLinux(Debianテスト)ラップトップとスワップパーティションを持っています。 私はそれで多くの実験をしています。それらのいくつかは本当にメモリを大量に消費し、Linuxがデフォルトでどのように動作するかは私にとって問題です...愚かな例を挙げましょう: ノートパソコンの前に座る ターミナルを開く 入力しpythonた後、a = [0]*100000000 この大きなリストを処理するための十分なRAMがない可能性が高くなっています。LinuxがRAMを埋め、次にスワップを行い、数分後にOOMキラーがトリガーされ、(ほぼ)ランダムなサービスが強制終了されます。うまくいけば、Ctrl + Cを押すpythonと、ターミナルがまだフォーカスがあったので、コンピュータは再び反応するようになります。 いくつかのメモリ制限を適用して、不要なスワッピングを回避し、(RAMに)持っているよりも多くのメモリを割り当てる権利をプロセスに拒否したいと思います。メモリ要求が特定の制限を下回っている場合、またはrootから要求された場合は、root以外のユーザーのメモリを最も消費しているプロセスを強制終了します。 ulimit -Sv [mem] 後ろで聞く! ホーホー!「cgroups経由で使用してくださいcgexec!」誰かが最初の行で言う! はい、そうです。これらは確かに非常に優れたソリューションです。だが: システム全体には適用されません 制限はプロセスごとに設定されます 制限は静的であり、実際の空きRAM量を無視します(AFAIK) こことそこに、彼らが言うこれらは本当にハード制限を強制するための良い解決策ではありません。 カーネルが言うことは、「あなたはユーザーfoo(rootではなく)に属しています。大量のメモリを使用しているので、メモリが足りなくなります。ごめんなさい...今すぐ死にます!」 または:「一体何をしているのですか?x MB が必要で、y MB しか利用できません。はい、SWAPは空ですが、SWAPを使用してダーティな作業を行うつもりはありませんか?いいえ、私はいいえと言った!記憶はない!主張すれば死ぬぞ!」
10 memory  limit  cgroups  ulimit 

1
単一サーバーへの大規模な同時SSHを有効にする
私の目標は、1台のサーバーで10000の同時SSHを実行できるようにすることです。 簡単にするために、私はlocalhostにsshしています。 for i in `seq 1 10000`; do ssh localhost "echo ${i}; sleep 100" >>./info 2>>./log & done sleep 10010000番目のsshが起動したときに、1番目のsshがまだ接続されていることを確認するためです。これにより、実際には10000のsshが同時に 存在します。 そして、ここに私が得た2種類のエラーメッセージがあります: 1. ssh_exchange_identification: Connection closed by remote host 2. ssh_exchange_identification: read: Connection reset by peer 次の変更を行いました。 /etc/security/limits.confして/etc/security/limits.d/90-nproc.conf、ハードセットソフト&nofile&nproc65535(これは右の最大の可能な値である-更新:?なし最大値である。1048576) で/etc/sysctl.conf、kernel.pty.max = 65535 で/etc/ssh/sshd_config、を設定しMaxStartups 10000ます。 これらの変更により、1つのサーバーに対して1000の同時ssh s を正常に実行できますが、2000以上のssh s では機能しません。 一部の人々は、の値を変更することが示唆されているMaxSessions(?実際に私はその使用状況については明らかではないよ:どのように私の場合には影響を与え多重ん)、/proc/sys/net/core/netdev_max_backlogそして/proc/sys/net/core/somaxconn、彼らは違いはありませんように見えます。 …
9 ssh  sshd  ulimit 

2
保留中のシグナルとは何ですか?
実行中のプロセスの限界を見ると、 Max pending signals 15725 これは何ですか? 忙しいサービスの実用的な値を決定するにはどうすればよいですか? 一般的に、それぞれの制限について説明しているページを見つけることができないようです。自明なものもあれば(オープンファイルの最大数)、そうでないものもあります(最大のmsgqueueサイズ)。



2
Debianで「Too many open files」を回避する方法
私のapache2サーバーのすべての関連ログファイルを一度に表示したい場合は、 tail -f /var/kunden/logs/*log /var/kunden/logs/*log /var/log/apache2/*log |grep -v robots|grep -v favicon でも、今はファイルが多すぎるので、制限を増やしていきたいと思います。 1つのsshセッションでどのように増やすことができますか?そして、どうすればシステム全体でそれを増やすことができますか? 私のマシンでは、開いているファイルの制限が1024であることがわかります。 ulimit -n 1024
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.