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

プロセスまたはプロセスのグループによるリソース(メモリ、ディスク容量、CPU時間、開いているファイル、ネットワーク帯域幅など)の使用を制限します。

2
プロセスがOOMキラー/ cgroupによって強制終了される前に信号を受信します
このクラスターでは、メモリーなどのプロセスリソースを制限しています(memory.limit_in_bytes)。 結局のところ、これもLinuxカーネルのOOMキラーを介して処理されると思います(ソースコードを読むと、そのように見えます)。 プロセスが終了する前にシグナルを取得する方法はありますか?(SGEの-notifyオプションと同様に、プロセスが強制終了さqsubSIGUSR1れる前に送信されます。) 私は/dev/mem_notify ここについて読みましたが、それを持っていません-最近他に何かありますか?私もこれを読んで、ある程度関連性があるようです。 少なくとも小さなスタックトレースと他の有用なデバッグ情報をダンプできるようにしたいのですが、メモリを解放することで回復できるかもしれません。 私が現在使用している回避策の1つは、この小さなスクリプトです。このスクリプトは、上限(95%)に近いかどうかを頻繁にチェックし、上限に近い場合、プロセスにを送信しますSIGUSR1。Bashでは、このスクリプトをバックグラウンド(cgroup-mem-limit-watcher.py &)で開始しているため、同じcgroup内の他のprocを監視し、親Bashプロセスが停止すると自動的に終了します。

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 

5
Linuxで開いているファイルの最大許容最大数
Linuxで開くことができるファイルの最大数を設定できる大きさに(技術的または実用的な)制限はありますか?非常に大きな数(1〜100Mなど)に構成すると、いくつかの悪影響がありますか? ここでは、組み込みシステムではなく、サーバーの使用法を考えています。もちろん、開いているファイルを大量に使用するプログラムはメモリを消費して遅くなる可能性がありますが、制限が必要以上に大きく設定されている場合の悪影響に興味があります(たとえば、設定だけで消費されるメモリ)。

1
MAXSYMLINKSを増やすには
Pythonスクリプトで、一緒にチェーンされたシンボリックリンクの束を作成しています。 例:link1-> link2-> link3-> .......-> somefile.txt シンボリックリンクの最大数を20を超えるように変更するにはどうすればよいでしょうか。
10 linux  symlink  limit 

1
ZFSの制限の背後にある意味は何ですか?
Wikipediaによると、ZFSには次の制限があります。 マックス。ボリュームサイズ:256兆ヨビバイト(2 128バイト) マックス。ファイルサイズ:16エクスビバイト(2 64バイト) マックス。ファイル数: ディレクトリごと:2 48 ファイルシステムごと:無制限 マックス。ファイル名の長さ:255 ASCII文字(Unicodeなどのマルチバイト文字エンコーディングの場合は少ない) なぜこれらの制限があるのですか?これらのものを内部的に制限するものは何ですか?ZFSが理論的に無制限のボリュームサイズやファイル名の長さなどを持たないのはなぜですか?
10 filesystems  zfs  limit 

1
cgroup内のプロセスはブートごとに設定する必要がありますか?もしそうなら、それらを持続させる方法は?
私はcgroupsを使用してプロセスの制限を設定することについての質問に対するこの回答を読んでいました。サンプルは、(この例では、処理のための設定の制限を与えsshd)。その答えとして、プロセスのPIDは手動で設定されます。これは私の目的には受け入れられません。特定のアプリケーションから開始されたプロセスには、いつ開始されても、開始されたプロセスの数によって制限されても、常に制限が設定されるようにしたいと思います。 例からはそれがどのように発生するかが明確でない可能性があります。そのため、明確な説明やリンクを貼っていただければ幸いです。カーネルcgroups.txtの例は、すでに上記で示したものと同じモデルを使用しているようです。


2
引数リストの実際の最大長を見つけるための標準的な方法は何ですか?
ARG_MAXに続いて、ARG_MAX Ubuntu 12.04を実行しているMac Mini 3,1で新しいプロセスの引数の最大長が誤って(または少なくともあいまいに)定義されているようです: $ getconf ARG_MAX # arguments 2097152 $ locate limits.h | xargs grep -ho 'ARG_MAX[ \t]\+[0-9]\+' | uniq | cut -d ' ' -f 8 131072 実際の制限はこれらの間のどこかにあるようです: $ cd "$(mktemp -d)" $ touch $(seq 1 131072) && find . -mindepth 1 -printf x | wc -c …

1
ulimit -nと/ proc / $ PID / limitsの違い
Linuxでは、開いているファイルに制限があります。ulimit -n開いているファイルの制限を確認するために使用できます。これはデフォルトの1024です。次に、/ proc / $ PID / limitsを調べることにより、プロセスごとのオープンファイルのソフト/ハード制限を確認することもできます。ソフト= 1024、ハード= 4096です。 これら2つの出力の違いは何ですか? また、行うsetRlimit()とgetRlimit()、システム全体またはプロセスごとに適用されますか?
9 limit 

1
帯域幅をtmpfsベースのRAMディスクに調整できますか?
次のようにtmpfsを使用してRAMディスクを作成しました。 sudo mount -t tmpfs -o size=1024m tmpfs /myramdisk 私はcgroup blkioサブシステムの帯域幅制限「read_bps_device」と「write_bps_device」を調べていましたが、アクセスをスロットルするブロックデバイスのメジャー番号とマイナー番号が必要なようです。 インメモリtmpfs ramdiskと同様の帯域幅制限を達成する方法はありますか? アップデート:私はこれを達成するための回り道のハッキーな方法を見つけました。最初にnfsでramdiskマウントをエクスポートします。次に、nfsが同じマシンのループバックにマウントします。次に、Linuxネットワークトラフィックシェーピングを使用して、帯域幅制限を設定します。これは私に必要なものを提供するようです。私は、この恐ろしいレイヤリングに伴うペナルティを確認するために、いくつかの測定を行っている最中です。その情報は数日中に更新します。


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

2
LinuxはSSHを介して同時にログインできることを何人のユーザーがサポートしますか?
Linuxが同時​​にログインする複数のユーザーをサポートしていることは知っています。 しかし、Linuxに同時にログインできるユーザーの最大数はいくつですか? 私は69個のありますがあります参照ttyファイル(ttynまたはttysn、nのような整数であるが、tty0、tty1、tty2...)私の中/devのディレクトリ。これらのファイルはシェルだと思います。したがって、このLinuxシステムは、同時にログインできる69人のユーザーしかサポートしないと考えています。 私の考えは正しいですか?私の仮定が間違っている場合は、Linuxのユーザー制限について、その実装方法も含めて説明してください。 また、すでにログインしているユーザーの詳細にアクセスするにはどうすればよいですか?コマンドw、whoは知っていますが、高度なツールを探しています。
8 linux  shell  ssh  login  limit 

1
Webクローラーのスロットル
私のウェブサイトはGoogleウェブスパイダーによってDoSされています。Googleはサイトのインデックス登録を歓迎しますが、ウェブサーバーが結果を生成するよりも速くサイト上のタグクラウドにクエリを実行し、ウェブサーバーのリソースを使い果たすことがあります。 通常の訪問者が影響を受けないようにWebサーバーへのアクセスを制限するにはどうすればよいですか? robots.txtは、サイト全体のインデックス作成をブロックするため、オプションではありません。 iptables -m recent 一部のページには多くの画像やその他のデータファイルがあり、それらにも「最近」のトリガーがあるため(通常、私のRSSアグリゲーター、画像とフィードの読み込み)、トリッキーです。 iptables -m limit 同じ欠点があり、それに加えて、IP送信元アドレスごとに選択することができませんでした。 サーバーの負荷が高くなりすぎる訪問者を制限するにはどうすればよいですか? 私はVirtualBox VMのUbuntuサーバーでapache2を実行しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.